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

Come restituire righe con gli stessi valori di colonna in MySql

Questo è un esempio di query "set-in-set". Consiglio l'aggregazione con having clausola, perché è l'approccio più flessibile.

select score
from t
group by score
having sum(id = 2) > 0 and -- has id = 2
       sum(id = 4) > 0     -- has id = 4

Ciò che sta facendo è aggregare per punteggio. Quindi la prima parte del having clausola (sum(id = 2) ) conta quanti "2" ci sono per punteggio. Il secondo è contare quanti "4" s. Vengono restituiti solo i punteggi che hanno un "2" e un "4".