Mi mesa se parece a esto (y estoy usando MySQL):El uso de ORDER BY y GROUP BY junto
m_id | v_id | timestamp
------------------------
6 | 1 | 1333635317
34 | 1 | 1333635323
34 | 1 | 1333635336
6 | 1 | 1333635343
6 | 1 | 1333635349
Mi objetivo es tomar cada m_id una vez, y el orden de la más alta marca de tiempo.
El resultado debe ser:
m_id | v_id | timestamp
------------------------
6 | 1 | 1333635343
34 | 1 | 1333635336
y escribí esta consulta:
SELECT * FROM table GROUP BY m_id ORDER BY timestamp DESC
embargo, los resultados son los siguientes:
m_id | v_id | timestamp
------------------------
34 | 1 | 1333635323
6 | 1 | 1333635317
creo que provoca, ya que primero hace GROUP_BY y luego ORDEN los resultados.
¿Alguna idea? Gracias.
uso 'MAX' para seleccionar el máximo de su grupo – Nanne
Una cláusula' GRUPO BY' sin función de agregado (por ejemplo: 'COUNT(), SUM(), MAX()') no tiene ningún sentido en absoluto . Me desconcierta que MySQL incluso lo permita. Piénselo, ¿por qué se agrupa si no hace nada con los grupos? – NullUserException
¿Qué pasa si hay dos v_id diferentes para un m_id? ¿Cuál sería el resultado deseado? –