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

Problema della funzione aggregata MySQL

Il HAVING La clausola viene utilizzata per filtrare gruppi di righe. Fai riferimento a min(a) e max(a) che (in assenza di qualsiasi GROUP BY clausola) aggregati su tutti i a valori nella tabella, ma poi usa un confronto con un singolo a valore.

Quindi quale a valore dovrebbe usare MySQL? Tutti gli altri RDBMS che conosco genererebbero un errore a questo punto, tuttavia MySQL lo consente. Dai documenti

Quindi nel tuo caso dai risultati che stai ricevendo sembra che abbia finito per usare 1 come valore scalare per a ma questo comportamento non è garantito e potrebbe anche aver usato 2 o qualsiasi altro a esistente valore.