HAVING klausul bruges til at filtrere grupper af rækker. Du henviser til min(a) og max(a) som (i mangel af nogen GROUP BY). klausul) samlet over alle a værdier i tabellen, men brug derefter en sammenligning med en enkelt a værdi.
Så hvilken a værdi skal MySQL bruge? Alle andre RDBMS'er, som jeg kender til, ville give en fejl på dette tidspunkt, men MySQL tillader dette. Fra dokumenterne
Så i dit tilfælde, ud fra de resultater, du får, ser det ud til, at det endte med at bruge 1 som den skalære værdi for a men denne adfærd er ikke garanteret, og den kunne lige så godt have brugt 2 eller enhver anden eksisterende a værdi.