Consulta por dias

13/12/2005 - 08:47 por Mendez | Informe spam
Hola gente!

Pues vereis, llevo dandole vueltas a una consulta que lleva un agrupado
por fechas.

El tema es, sacar el primer registro de cada dia, y como no tengo la
funcion de agregado FIRST, pues no se muy bien como hacerlo.

He encontrado soluciones por ahi, pero claro, me devuelven el primero en
general, pero no el primero de cada dia, pues si lo agrupo por la fecha,
como contiene fecha hora, me sale un caos.

SELECT idpersona FROM tabla1
WHERE fhinicio=(SELECT MIN(fhinicio) FROM tabla1)

Alguna idea?

Gracias!!!

Saludos.
 

Leer las respuestas

#1 Salvador Ramos
13/12/2005 - 09:18 | Informe spam
Hola,

Puedes hacer un GROUP BY sólo por la fecha, para ello debes utilizar las
funciones CAST o CONVERT y/o funciones de fechas, hay múltiples soluciones,
te paso una que utilizo para convertir un dato fecha a numérico (AAAAMMDD).

YEAR(Fecha)*10000 + MONTH(Fecha)*100 + DATEPART(dd, Fecha)

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL Server y .NET)


"Mendez" escribió en el mensaje
news:url5Rj7$
Hola gente!

Pues vereis, llevo dandole vueltas a una consulta que lleva un agrupado
por fechas.

El tema es, sacar el primer registro de cada dia, y como no tengo la
funcion de agregado FIRST, pues no se muy bien como hacerlo.

He encontrado soluciones por ahi, pero claro, me devuelven el primero en
general, pero no el primero de cada dia, pues si lo agrupo por la fecha,
como contiene fecha hora, me sale un caos.

SELECT idpersona FROM tabla1
WHERE fhinicio=(SELECT MIN(fhinicio) FROM tabla1)

Alguna idea?

Gracias!!!

Saludos.

Preguntas similares