Maximas Repeticiones en InterBase
Publicado por Alfonso Vila (1 intervención) el 16/09/2007 18:40:05
En definitiva se trata de hallar el número máximo de repeticiones. En Interbase no se puede hacer una SELECT de una SELECT, y necesito que sea una consulta sólo (no me sirve un procedimiento almacenado).
Tengo una select:
SELECT CONT(*), TS.NumSocio, T.Deporte_ID
FROM TORNEO T, TORNEOSOCIO TS
WHERE T.ID = TS.ID
GROUP BY TS.NumSocio, T.Deporte_ID
Devuelve:
COUNT NUMSOCIO DEPORTE_ID
1 1 1
1 1 2
1 2 1
1 2 2
1 3 1
1 3 2
2 4 1
En definitiva, al final quiero sacar sólo los que más veces se repitan por DEPORTE_ID:
COUNT NUMSOCIO DEPORTE_ID
1 1 2
1 2 2
1 3 2
2 4 1
pero no puedo agrupar de nuevo con SELECT.
A alguien se le ocurre algo? Existe una manera sencilla?
P.D.: Se me ocurrió algo así como "HAVING COUNT(*) > ALL SELECT de todos donde no esté la fila", pero devuelve sólo si existe un valor mayor que todos los demás; si hay varios con el valor máximo se los come.
MUCHAS GRACIAS!!!
Tengo una select:
SELECT CONT(*), TS.NumSocio, T.Deporte_ID
FROM TORNEO T, TORNEOSOCIO TS
WHERE T.ID = TS.ID
GROUP BY TS.NumSocio, T.Deporte_ID
Devuelve:
COUNT NUMSOCIO DEPORTE_ID
1 1 1
1 1 2
1 2 1
1 2 2
1 3 1
1 3 2
2 4 1
En definitiva, al final quiero sacar sólo los que más veces se repitan por DEPORTE_ID:
COUNT NUMSOCIO DEPORTE_ID
1 1 2
1 2 2
1 3 2
2 4 1
pero no puedo agrupar de nuevo con SELECT.
A alguien se le ocurre algo? Existe una manera sencilla?
P.D.: Se me ocurrió algo así como "HAVING COUNT(*) > ALL SELECT de todos donde no esté la fila", pero devuelve sólo si existe un valor mayor que todos los demás; si hay varios con el valor máximo se los come.
MUCHAS GRACIAS!!!
Valora esta pregunta


0