Meine Tabelle sieht wie folgt aus (und ich bin mit MySQL):Mit ORDER BY und GROUP BY zusammen
m_id | v_id | timestamp
------------------------
6 | 1 | 1333635317
34 | 1 | 1333635323
34 | 1 | 1333635336
6 | 1 | 1333635343
6 | 1 | 1333635349
Mein Ziel ist durch den höchsten Zeitstempel jedes m_id einmal, und zu ergreifen.
m_id | v_id | timestamp
------------------------
6 | 1 | 1333635343
34 | 1 | 1333635336
Und ich schrieb diese Abfrage:
sollte das Ergebnis sein
SELECT * FROM table GROUP BY m_id ORDER BY timestamp DESC
Aber sind die Ergebnisse:
m_id | v_id | timestamp
------------------------
34 | 1 | 1333635323
6 | 1 | 1333635317
ich denke, es verursacht, weil es zuerst tut GROUP_BY und dann BESTELLEN Sie die Ergebnisse.
Irgendwelche Ideen? Vielen Dank.
Verwendung 'MAX' die max aus Ihrer Gruppe – Nanne
A' GROUP BY'-Klausel ohne Aggregat-Funktion zu wählen (zB: COUNT(), SUM(), MAX() ') überhaupt keinen Sinn macht . Es verblüfft mich, dass MySQL dies sogar erlaubt. Denk darüber nach, warum gruppierst du dich, wenn du nichts mit den Gruppen machst? – NullUserException
Was passiert, wenn es zwei verschiedene v_id für eine m_id gibt? Was wäre das gewünschte Ergebnis? –