... où count (col) & gt; 1
J'ai un tableau comme ceci:
+-----+-----+-------+
| id | fk | value |
+-----+-----+-------+
| 0 | 1 | peter |
| 1 | 1 | josh |
| 3 | 2 | marc |
| ... | ... | ... |
Je voudrais maintenant, pour obtenir toutes les entrées qui ont plus d'une valeur.
Le résultat attendu serait:
+-----+-------+
| fk | count |
+-----+-------+
| 1 | 2 |
| ... | ... |
J'ai essayé de réaliser que, comme ceci:
select fk, count(value) from table where count(value) > 1;
Mais Oracle n'aimais pas ça.
J'ai donc essayé cette...
select * from (
select fk, count(value) as cnt from table
) where cnt > 1;
...sans succès.
Des idées?
source d'informationauteur cimnine
Vous devez vous connecter pour publier un commentaire.
Utiliser le
having
clause pour la comparaison des agrégats.Aussi, vous avez besoin de groupe par ce que vous êtes à l'agrégation à l'encontre de la requête fonctionne correctement. Ce qui suit est un début, mais depuis que vous êtes absent une clause group by toujours de ne pas assez travailler. Exactement ce que vous essayez de compter?