MySQL Tabelle: ORDER BY vor GROUP BY

Gefragt von Herietta, am Samstag, 9. August 2014 um 12:05

Vote up
+2
Vote down

Wie kann ich mit MySQL eine Tabelle zuerst mit ORDER BY sortieren und dann erst mit GROUP BY gruppieren? Wenn ich zum Beispiel SELECT id,title,user,time FROM posts ORDER BY time DESC GROUP BY user mach, kommt ein Fehler, dass sie Syntax falsch ist.

Antworten

Vote up
+2
Vote down
Akzeptiert

Semmelkind am Samstag, 9. August 2014 um 12:08

Das liegt daran, dass das GROUP BY immer vor dem ORDER BY stehen muss, es darf nicht danach kommen. Das kannst du umgehen, indem du zuerst einen SELECT mit der Sortierung machst, und dann noch einen SELECT von dem SELECT mit dem GROUP BY machst:

SELECT id,title,user,time FROM (
SELECT id,title,user,time FROM posts ORDER BY time DESC
) p GROUP BY p.user

Schreib eine Antwort auf diese Frage:

Um diese Frage zu beantworten, logge dich bitte ein.