HAVING Klauzula służy do filtrowania grup wierszy. Odwołujesz się do min(a) i max(a) który (w przypadku braku GROUP BY klauzula) agregują wszystkie a wartości w tabeli, ale następnie użyj porównania z pojedynczym a wartość.
Więc który a? wartość, której ma używać MySQL? Wszystkie inne RDBMS, o których wiem, zgłaszałyby błąd w tym momencie, jednak MySQL na to pozwala. Z dokumentów
Więc w twoim przypadku z wyników, które otrzymujesz, wygląda na to, że skończyło się przy użyciu 1 jako wartość skalarna dla a ale to zachowanie nie jest gwarantowane i równie dobrze mogłoby użyć 2 lub jakikolwiek inny istniejący a wartość.