Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Problem mit der MySQL-Aggregatfunktion

Das HAVING -Klausel wird verwendet, um Gruppen von Zeilen zu filtern. Sie verweisen auf min(a) und max(a) was (in Abwesenheit von GROUP BY -Klausel) über alle a aggregieren Werte in der Tabelle, aber verwenden Sie dann einen Vergleich mit einem einzelnen a Wert.

Also welcher a Wert soll MySQL verwenden? Alle anderen RDBMS, die ich kenne, würden an dieser Stelle einen Fehler ausgeben, aber MySQL erlaubt dies. Aus der Dokumentation

In Ihrem Fall scheint es also anhand der Ergebnisse, die Sie erhalten, dass 1 verwendet wurde als Skalarwert für a aber dieses Verhalten ist nicht garantiert und es hätte genauso gut 2 verwendet werden können oder jedes andere vorhandene a Wert.