dr.Colossos: GROUP BY + ORDER BY

Beitrag lesen

Hi,

lass mich raten:

DBMS: Mysql

besuch_von: User-ID

besuch_zeit: timestamp

Tja, das geht so leider nicht. Mit 'GROUP BY' werden die Daten verdichtet, d.h. pro Instanz von 'besuch_von' gibt es genau ein Ruechkabetupel.

Bedauerlicherweise wird das ORDER BY (zumindest vermute ich das mal) erst am Ende ausgefuehrt.

Im uebrigen, *-Selekor, vorallem mit GROUP BY is immer schlecht. Ich denke der Code funktioniert eh nur mit MySQL (bei Interesse kannst da mal nachforschen).

SELECT max(besuch_zeit) AS last_logon_time, besuch_bei
FROM profilbesucher
WHERE besuch_bei = 1
GROUP BY besuch_bei
[ORDER BY last_logon_time DESC]

Bitte selber testen ob das ORDER BY funktioniert, bin mir da garnicht sicher. Auch weiss ich nicht 100% ob der Call ueberhaupt geht, kann das hier nicht testen.

Wenn nicht, dann das evtl. in eine Unterabfrage packen (wiederum, selber testen)

SELECT * FROM
(
        SELECT max(besuch_zeit) AS last_logon_time, besuch_bei
        FROM profilbesucher
        WHERE besuch_bei = 1
        GROUP BY besuch_bei
)
AS tmp_table ORDER BY last_logon_time DESC

Hope this helps!