sql - type - … Donde cuenta(col)> 1
update sql oracle (1)
Utilice la cláusula having
para comparar agregados.
Además, debe agruparse según lo que está agregando para que la consulta funcione correctamente. Lo siguiente es un comienzo, pero como falta una cláusula de grupo por grupo, no funcionará. ¿Qué es exactamente lo que estás tratando de contar?
select fk, count(value)
from table
group by fk
having count(value) > 1;
Tengo una mesa como esta:
+-----+-----+-------+
| id | fk | value |
+-----+-----+-------+
| 0 | 1 | peter |
| 1 | 1 | josh |
| 3 | 2 | marc |
| ... | ... | ... |
Ahora me gustaría obtener todas las entradas que tengan más de un valor. El resultado esperado sería:
+-----+-------+
| fk | count |
+-----+-------+
| 1 | 2 |
| ... | ... |
Intenté lograr eso así:
select fk, count(value) from table where count(value) > 1;
Pero a Oracle no le gustó.
Así que intenté esto ...
select * from (
select fk, count(value) as cnt from table
) where cnt > 1;
... sin éxito.
¿Algunas ideas?