Mysql
 sql >> Database >  >> RDS >> Mysql

SELEZIONA dalla vista MySQL con la clausola HAVING restituisce un set di risultati vuoto

Il HAVING La clausola è pensata per essere utilizzata su dati aggregati quando si raggruppano le righe utilizzando il GROUP BY clausola. Poiché stai operando su ogni riga singolarmente, dovresti sostituire HAVING con un WHERE clausola. Vedi questo esempio per i dettagli.

L'uso di HAVING su colonne non aggregate nell'elenco SELECT è un comportamento non standard supportato da MySQL, ma un comportamento su cui non si dovrebbe fare affidamento. Anche il riferimento MySQL lo scoraggia:

Per inciso:se stai passando argomenti dall'utente alla tua query (con il %s ), assicurati di esaminare le dichiarazioni preparate. Altrimenti potresti avere un evidente difetto di sicurezza tra le mani.