moim stole wygląda następująco (i używam MySQL):Korzystanie ORDER BY i GROUP BY razem
m_id | v_id | timestamp
------------------------
6 | 1 | 1333635317
34 | 1 | 1333635323
34 | 1 | 1333635336
6 | 1 | 1333635343
6 | 1 | 1333635349
Moim celem jest, aby każdy m_id jeden raz, a zamówienie przez najwyższą datownik.
Wynik powinien być:
m_id | v_id | timestamp
------------------------
6 | 1 | 1333635343
34 | 1 | 1333635336
i napisałem to zapytanie:
SELECT * FROM table GROUP BY m_id ORDER BY timestamp DESC
Ale wyniki są następujące:
m_id | v_id | timestamp
------------------------
34 | 1 | 1333635323
6 | 1 | 1333635317
myślę, że to powoduje, ponieważ najpierw robi GROUP_BY, a następnie ZAMÓW wyniki.
Wszelkie pomysły? Dziękuję Ci.
użycie 'MAX' wybrać max z grupy – Nanne
' klauzula GROUP BY' bez funkcji zagregowanej (np: 'count(), SUM(), MAX()') nie ma sensu w ogóle . Wprawia mnie to w zakłopotanie, że MySQL na to pozwala. Pomyśl o tym, dlaczego grupujesz się, jeśli nie robisz nic z grupami? – NullUserException
Co jeśli istnieją dwa różne v_id dla m_id? Jaki byłby pożądany rezultat? –