sql >> Database >  >> RDS >> Mysql

SELECT uit MySQL-weergave met HAVING-clausule retourneert lege resultaatset

De HAVING clausule is bedoeld om te worden gebruikt op geaggregeerde gegevens wanneer u rijen groepeert met behulp van de GROUP BY clausule. Aangezien u op elke rij afzonderlijk werkt, moet u HAVING . vervangen met een WHERE clausule. Zie dit voorbeeld voor details.

Het gebruik van HAVING op niet-geaggregeerde kolommen in uw SELECT-lijst is niet-standaard gedrag dat MySQL ondersteunt, maar gedrag waarop niet moet worden vertrouwd. Zelfs de MySQL-referentie ontmoedigt het:

Even terzijde:als je argumenten van de gebruiker doorgeeft aan je zoekopdracht (met de %s ), zorg ervoor dat u voorbereide verklaringen bekijkt. Anders heb je misschien een flagrante beveiligingsfout in handen.



  1. Wat betekent de volgende Oracle-fout:ongeldige kolomindex

  2. MySQL FULLTEXT werkt niet

  3. mysql scheidingsteken fout

  4. Selecteer alleen de tijdstempels van vandaag (sinds middernacht)