Ver Mensaje Individual
  #7 (permalink)  
Antiguo 20/12/2013, 11:33
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta de SQL y campos fecha

Me parece que tu problema es que estás confundiendo ordenar con agrupar.
En BBDD son cosas diferentes.
Un GROUP BY es una operación donde se trata de obtener subtotales en base a un conjunto de datos que tomados en grupo, se diferencian entre un registro y otro.

datos como:
Cita:
1, 33, 34, 6, 7, 9
1, 32, 34, 6, 7, 9
tomados como grupo son registros distintos, por más que sólo se diferencien en un único valor, cuando aplicas el GROUP BY.

Lo que no puedes hacer es agrupar sin especificar qué agrupas, es decir, cuáles campos se diferenciarán y cuales no. Es una restricción obligatoria en SQL Server, PostgreSQL, Oracle, DB2 y otros DBMS (no en MySQL).

Si lo que quieres es obtener los registros correspondientes a los 6 últimos días (los 6 primeros son otra cosa), la consulta que haces, sin el GROUP BY te lo devolvería.
Podríamos intentarlo así:
Código SQL:
Ver original
  1. SELECT site_id, identity_id, parity, event_type, eventdate
  2. FROM events
  3. WHERE
  4.     event_type = 270
  5.     AND eventdate BETWEEN  DATEADD(DAY, -6, Getdate()) AND GetDate()
  6. ORDER BY eventdate, site_id, identity_id, parity, event_type

O bien lo hacemos agrupando:
Código SQL:
Ver original
  1. SELECT site_id, identity_id, parity, event_type, MAX(eventdate) eventdate
  2. FROM events
  3. WHERE
  4.     event_type = 270
  5.     AND eventdate BETWEEN  DATEADD(DAY, -6, Getdate()) AND GetDate()
  6. GROUP BY site_id, identity_id, parity, event_type


Como sea, lo primero que debes definir es qué información quieres obtener. Eso es lo que no está muy claro. Y por "qué información", estamos hablando de qué nivel de consolidación (sumas, promedios, maximos, mínimos), y sobre qué campos necesitas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)