SQL - Obtener máximo por grupos

   
Vista:

Obtener máximo por grupos

Publicado por nerea (2 intervenciones) el 18/05/2016 11:50:39
Buenos días,

Tengo un problema con una consulta, a ver si alguien puede ayudarme. Gracias de antemano

Tengo una base da datos, "taxi", compuesta por los trayecto hechos por varios taxis. También tengo los campos "barrio" y "dia" (lunes, martes, etc), que me indican el barrio de donde empezó el trayecto y el día de la semana en el que se realizó.
Necesito obtener para cada día de la semana, el barrio desde el que más trayectos se realizan y el número de estos.

SELECT dia, barrio, count(*) AS total_dia
FROM taxi
GROUP BY dia, barrio;

De esta forma obtengo todos los viajes que se realizan cada día de la semana en cada barrio, pero necesito el máximo de cada día.
Yo había pensado en algo así..:

SELECT dia, barrio, max(total_dia)
FROM ( SELECT dia, barrio, count(*) AS total_dia from taxiGROUP BY dia, barrio)
GROUP BY dia;

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Obtener máximo por grupos

Publicado por Gonzalo (21 intervenciones) el 18/05/2016 13:14:50
Estás perdiendo la perspectiva...

Si lo que necesitas es "el máximo de cada día", sin discriminar el barrio, pues en la nueva query quita el barrio puesto en el GROUP BY en la query anterior y listo...

1
2
3
SELECT dia,  count(*) total_dia
FROM taxi
GROUP BY dia;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Obtener máximo por grupos

Publicado por nerea (2 intervenciones) el 18/05/2016 13:24:15
OK, gracias!

Pero el barrio si que lo tengo que tener en cuenta..Igual no me he explicado bien, pero mi objetivo es encontrar el barrio más solicitado para cada dia de la semana.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar