HAVING
клаузата се използва за филтриране на групи от редове. Позовавате се на min(a)
и max(a)
което (при липса на GROUP BY
клауза) агрегира върху всички a
стойности в таблицата, но след това използвайте сравнение с един a
стойност.
И така, кой a
стойност, която MySQL трябва да използва? Всички други RDBMS, за които знам, биха пуснали грешка в този момент, но MySQL позволява това. От документите
Така че във вашия случай от резултатите, които получавате, изглежда, че в крайна сметка е използвал 1
като скаларна стойност за a
но това поведение не е гарантирано и също така би могло да използва 2
или всеки друг съществуващ a
стойност.