Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment renvoyer des lignes qui ont les mêmes valeurs de colonne dans MySql

Il s'agit d'un exemple de requête "ensembles dans des ensembles". Je recommande l'agrégation avec le having clause, car c'est l'approche la plus flexible.

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

Ce que cela fait, c'est agréger par score. Puis la première partie du having clause (sum(id = 2) ) compte combien de "2" il y a par score. La seconde consiste à compter le nombre de "4". Seuls les scores qui ont un "2" et un "4" sont renvoyés.