Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

fechas y count como se hace?

Estas en el tema de fechas y count como se hace? en el foro de SQL Server en Foros del Web. hola tengo la siguiente tabla: idprob----problema---------------idus----idtipo---------fecha 1--------me duele la cabeza--------1--------1----2012-03-01 2--------soy muy desordenada-----3---------2----2012-03-01 3--------fgsdgfsdg-----------------1--------1----2012-03-01 4--------dsgdsg-------------------2--------1-----2012-03-24 5--------dsgsdggsd----------------1--------2----2012-03-24 y necesito un query que me cuente dos cosas: ...
  #1 (permalink)  
Antiguo 24/03/2012, 08:47
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 12 años, 4 meses
Puntos: 0
fechas y count como se hace?

hola tengo la siguiente tabla:

idprob----problema---------------idus----idtipo---------fecha
1--------me duele la cabeza--------1--------1----2012-03-01
2--------soy muy desordenada-----3---------2----2012-03-01
3--------fgsdgfsdg-----------------1--------1----2012-03-01
4--------dsgdsg-------------------2--------1-----2012-03-24
5--------dsgsdggsd----------------1--------2----2012-03-24

y necesito un query que me cuente dos cosas: 1 los problemas con fecha anterior a la actual y 2: todos los problemas o sea asi:

tot----------tot_ayer
--5----------------3

supongo que no debe ser muy complicado pero no lo puedo lograr desde ya muchas gracias a todos!!!
  #2 (permalink)  
Antiguo 26/03/2012, 09:44
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: fechas y count como se hace?

Hola roigle111:

Lo puedes hacer con un SUM condicional, sería más o menos así

Código SQL:
Ver original
  1. SELECT SUM(1) total,
  2. SUM(CASE WHEN fecha <
  3. CONVERT(datetime,CONVERT(VARCHAR(10), GETDATE(), 103),103)
  4. THEN 1 ELSE 0 END) total_anteriores
  5. FROM tabla
  6.  
  7. /*
  8. total       total_anteriores
  9. ----------- ----------------
  10. 5           3
  11. */

Recuerda que en SQL server las fecha se guardan también con hora, por lo tanto hay que tener cuidado con este detalle. La doble conversión

Código:
CONVERT(datetime,CONVERT(varchar(10), GETDATE(), 103),103)
es justamente para considerar sólo la fecha, sin la hora. El poner SUM(1) es como un contador total = total + 1 común en programación... y sumariza todos los registros, independientemente de la fecha.

Saludos
Leo.
  #3 (permalink)  
Antiguo 26/03/2012, 10:33
 
Fecha de Ingreso: diciembre-2011
Mensajes: 26
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: fechas y count como se hace?

Cita:
Iniciado por leonardo_josue Ver Mensaje
Hola roigle111:

Lo puedes hacer con un SUM condicional, sería más o menos así

Código SQL:
Ver original
  1. SELECT SUM(1) total,
  2. SUM(CASE WHEN fecha <
  3. CONVERT(datetime,CONVERT(VARCHAR(10), GETDATE(), 103),103)
  4. THEN 1 ELSE 0 END) total_anteriores
  5. FROM tabla
  6.  
  7. /*
  8. total       total_anteriores
  9. ----------- ----------------
  10. 5           3
  11. */

Recuerda que en SQL server las fecha se guardan también con hora, por lo tanto hay que tener cuidado con este detalle. La doble conversión

Código:
CONVERT(datetime,CONVERT(varchar(10), GETDATE(), 103),103)
es justamente para considerar sólo la fecha, sin la hora. El poner SUM(1) es como un contador total = total + 1 común en programación... y sumariza todos los registros, independientemente de la fecha.

Saludos
Leo.

Muchas Gracias leonardo_josue!!!!!!!

Etiquetas: count., date, registros, totales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:03.