Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   select top pero agrupado (https://www.clubdelphi.com/foros/showthread.php?t=33456)

smessina 07-07-2006 01:46:21

select top pero agrupado
 
a ver si me pueden ayudar

tengo una tabla en access con lo suguiente
Código Delphi [-]
fecha          cancha         jugador
15/07/2006       1                 1321
16/07/2006       1                 13
16/07/2006       2                 24
15/07/2006       2                 1254
14/07/2006       1                 999
18/07/2006       3                 5456
12/07/2006       1                 54632
01/07/2006       2                 2131
15/07/2006       1                 5465
16/07/2006       5                 5433

y necesito mediante una consulta obtener las x primeras fechas por cancha
osea para el caso que x sea 3 :
Código Delphi [-]
fecha          cancha
14/07/2006       1  
15/07/2006       1       
16/07/2006       1 
01/07/2006       2 
15/07/2006       2  
16/07/2006       2 
18/07/2006       3 
16/07/2006       5

gracias por su tiempo

vtdeleon 07-07-2006 04:37:55

Cita:

Empezado por smessina
y necesito mediante una consulta obtener las x primeras fechas por cancha
osea para el caso que x sea 3 :
Código Delphi [-]
fecha          cancha
14/07/2006       1  
15/07/2006       1       
16/07/2006       1 
01/07/2006       2 
15/07/2006       2  
16/07/2006       2 
18/07/2006       3 
16/07/2006       5

No se entiende, el resultado que deseas no concuerda, está confuso :confused:

Explicate mejor

smessina 07-07-2006 14:21:23

a ver ahora
 
gracias por contestar.

a ver si ahora me explico mejor.

con select top 10 se puede seleccionar los 10 primeros registros que concuerdan con una condición.

osea yo puedo hacer

select top 3 fecha from tarjetas where cancha=1 group by fecha

me selecciona las 3 primeras fechas que corresponden a la cancha 1.

yo prodria hacer esto para cada cancha pero lo que necesito es que en una sola consulta me traiga las tres primeras fechas para cada cancha

para la tabla tarjetas
Código Delphi [-]
fecha          cancha         jugador
15/07/2006       1                 1321
16/07/2006       1                 13
16/07/2006       2                 24
15/07/2006       2                 1254
14/07/2006       1                 999
18/07/2006       3                 5456
12/07/2006       1                 54632
01/07/2006       2                 2131
15/07/2006       1                 5465
16/07/2006       5                 5433

resultado que deberia traer
Código Delphi [-]
fecha          cancha
14/07/2006       1  ]
15/07/2006       1  ] 3 primeras fechas de cancha 1    
16/07/2006       1  ]
01/07/2006       2  }
15/07/2006       2  }3 primeras fechas de cancha 2
16/07/2006       2  }
18/07/2006       3  ) 3 primeras fechas de cancha 3 (solo hay una entonces me muestra una)
16/07/2006       5  ] 3 primeras fechas de cancha 5 (solo hay una entonces me muestra una)

basti 11-07-2006 15:52:12

Hola, no lo he probado, pero se me ocurre algo así:

Código SQL [-]
Select fecha, cancha from tabla as tbl 
    where fecha in (select top 3 fecha from tabla where cancha = tbl.cancha order by fecha) 
order by cancha, fecha

olbeup 24-07-2006 00:13:00

Mira si esto es lo que buscar
Código SQL [-]
SELECT Fecha, Cancha FROM Tabla1 GROUP BY  Cancha, Fecha
Un saludo. :D


La franja horaria es GMT +2. Ahora son las 22:52:48.

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