moim stole titles
wygląda następującoMySQL sortując datami z GROUP BY
id |group|date |title
---+-----+--------------------+--------
1 |1 |2012-07-26 18:59:30 | Title 1
2 |1 |2012-07-26 19:01:20 | Title 2
3 |2 |2012-07-26 19:18:15 | Title 3
4 |2 |2012-07-26 20:09:28 | Title 4
5 |2 |2012-07-26 23:59:52 | Title 5
muszę ostatni wynik z każdej grupy uporządkowanej według daty w kolejności malejącej. Coś takiego
id |group|date |title
---+-----+--------------------+--------
5 |2 |2012-07-26 23:59:52 | Title 5
2 |1 |2012-07-26 19:01:20 | Title 2
Próbowałem
SELECT *
FROM `titles`
GROUP BY `group`
ORDER BY MAX(`date`) DESC
ale jestem geting pierwsze wyniki z grup. Podoba Ci się:
id |group|date |title
---+-----+--------------------+--------
3 |2 |2012-07-26 18:59:30 | Title 3
1 |1 |2012-07-26 19:18:15 | Title 1
Co robię źle? Czy to zapytanie będzie bardziej skomplikowane, jeśli użyję LEWEGO JOIN?
Jeśli potrzebujesz tylko dwóch kolumn (np. ID i jego najnowszego znacznika czasu), może to działać: http://stackoverflow.com/a/4448536/722036. Jest ** szybszy ** niż użycie sub-zapytań na ogromnym stole z milionami wierszy. –