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

SELECT aus der MySQL-Ansicht mit HAVING-Klausel gibt eine leere Ergebnismenge zurück

Das HAVING -Klausel soll für aggregierte Daten verwendet werden, wenn Sie Zeilen mit GROUP BY zusammengruppieren Klausel. Da Sie jede Zeile einzeln bearbeiten, sollten Sie HAVING ersetzen mit einem WHERE Klausel. Siehe dieses Beispiel für Details.

Die Verwendung von HAVING für nicht aggregierte Spalten in Ihrer SELECT-Liste ist ein nicht standardmäßiges Verhalten, das MySQL unterstützt, aber ein Verhalten, auf das Sie sich nicht verlassen sollten. Sogar die MySQL-Referenz rät davon ab:

Übrigens:Wenn Sie Argumente des Benutzers an Ihre Abfrage übergeben (mit dem %s ), stellen Sie sicher, dass Sie sich vorbereitete Anweisungen ansehen. Andernfalls könnten Sie eine eklatante Sicherheitslücke an Ihren Händen haben.