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.

Preguntas similare

Leer las respuestas

#6 Salvador Ramos
13/12/2005 - 17:13 | Informe spam
Si, claro, y es una buena puntualización, sobre todo teniendo en cuenta que
muchas veces no hay curiosidad por revisar, y se coje el código que funciona
sin más :-)

Un saludo
Salvador Ramos
Murcia - España

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


"Alejandro Mesa" escribió en el
mensaje news:
Salvador,

Solo fue un comentario.

Saludos,

Alejandro

"Salvador Ramos" wrote:

Si, claro, coincido contigo es más directo, por eso hice referencia a
CAST y
CONVERT. Con el ejemplo más que nada quería hacerle ver una de las
múltiples
posibilidades de conseguirlo con funciones de fecha y hora, aunque no era
la
más apropiada para el caso.
Debería haber puesto también la forma que tu indicas :-)

Un saludo
Salvador Ramos
Murcia - España

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


"Alejandro Mesa" escribió en el
mensaje news:
> Salvador,
>
> Tambien podemos usar la expresion:
>
> cast(convert(char(8), getdate(), 112) as int)
>
> aunque para este tipo de sentencias prefiero:
>
> select *
> from t1 as a
> where fhinicio = (select min(fhinicio) from t1 as b where b.idpersona >> > a.idpersona )
> go
>
> Saludos,
>
> Alejandro
>
> "Salvador Ramos" wrote:
>
>> 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.
>>
>>
>>



Respuesta Responder a este mensaje
#7 Mendez
14/12/2005 - 16:34 | Informe spam
Ok señores,

Ya lo he solucionado, con su inestimable ayuda.

Saludos y muchas gracias!!!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida