Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Selección del valor más repetido en una SELECT (https://www.clubdelphi.com/foros/showthread.php?t=48125)

MissileRider 16-09-2007 19:25:04

Selección del valor más repetido en una SELECT
 
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:

Código SQL [-]
SELECT COUNT(*), TS.NumSocio, T.Deporte_ID
FROM TORNEO T, TORNEOSOCIO TS
WHERE T.ID = TS.ID
GROUP BY TS.NumSocio, T.Deporte_ID

Devuelve:

Código:

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:

Código:

COUNT NUMSOCIO DEPORTE_ID
1            1                    2
1            2                    2
1            3                    2
2            4                    1

pero no puedo agrupar de nuevo con SELECT [SELECT MAX(Cuenta) FROM (SELECT........]

A alguien se le ocurre algo? Existe una manera sencilla? Se me está escapando algo?

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!!!

gendelphi 18-09-2007 01:17:06

Hola, en firebird 2, si puedes hacer consultas del tipo:

Código SQL [-]
SELECT ... FROM (SELECT ...)


La franja horaria es GMT +2. Ahora son las 18:42:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi