De HAVING
clausule wordt gebruikt om groepen rijen te filteren. U verwijst naar min(a)
en max(a)
die (bij afwezigheid van een GROUP BY
clausule) aggregeren over alle a
waarden in de tabel, maar gebruik dan een vergelijking met een enkele a
waarde.
Dus welke a
waarde die MySQL zou moeten gebruiken? Alle andere RDBMS'en die ik ken, zouden op dit moment een fout geven, maar MySQL staat dit wel toe. Uit de documenten
Dus in jouw geval blijkt uit de resultaten die je krijgt dat het uiteindelijk 1
. heeft gebruikt als de scalaire waarde voor a
maar dit gedrag is niet gegarandeerd en het had evengoed 2
. kunnen gebruiken of een andere bestaande a
waarde.