Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2013, 10:38
Avatar de cluster28
cluster28
 
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 4 meses
Puntos: 32
Seleccionar campo que no está en group by

Buenas,

Tengo esta primera consulta

Código SQL:
Ver original
  1. SELECT COUNT(1) AS total, fecha, n_tipo FROM solicitudes GROUP BY n_tipo, fecha;

que me da este resultado:



Cómo podría sacar el día que más consultas se han producido de determinado tipo?

Si hago:

Código SQL:
Ver original
  1. SELECT MAX(total) AS maximo, n_tipo FROM (SELECT COUNT(1) AS total, fecha, n_tipo FROM solicitudes GROUP BY n_tipo, fecha) AS consulta GROUP BY n_tipo

Me devuelve bien



Pero quiero tambien la fecha...

Entonces si hago:

Código SQL:
Ver original
  1. SELECT MAX(total) AS maximo, fecha, n_tipo FROM (SELECT COUNT(1) AS total, fecha, n_tipo FROM solicitudes GROUP BY n_tipo, fecha) AS consulta GROUP BY n_tipo, fecha

Me devuelve igual que la primera (lógico).

Y si hago

Código SQL:
Ver original
  1. SELECT MAX(total) AS maximo, fecha, n_tipo FROM (SELECT COUNT(1) AS total, fecha, n_tipo FROM solicitudes GROUP BY n_tipo, fecha) AS consulta GROUP BY n_tipo

Me dice la columna «consulta.fecha» debe aparecer en la cláusula GROUP BY o ser usada en una función de agregación...

Gracias.