Die Überschrift ist verwirrend, egal. Ich hatte ein Problem. In einer Tabelle habe ich IP-Adresse, Browser, Zugriffsurl und einen Zeitstempel gespeichert. Die Ausgabe habe ich dann mit der Abfrage
SELECT DISTINCT CONCAT(ip,browser) AS unique_user FROM table1 ORDER BY zeit DESC;
erzeugt. Dabei hatte ich aber das Problem, dass er zur Sortierung der Zeit immer das älteste Datum ( also das erste Vorkommen ) herangezogen hat:
ip1 browser1 12:01
ip2 browser1 12:02
ip1 browser1 12:03
ip1 browser1 12:05
ip3 browser1 12:10
ergab also eine Sortierung: ip3, ip2, ip1 statt ip3, ip1, ip2. Da ein SELECT DISTINCT ja mehr oder weniger nur ein normaler SELECT mit einem GROUP BY ist, konnte ich das Problem mit folgendem Query lösen:
SELECT DISTINCT CONCAT(ip,browser) AS unique_user, MAX(zeit) AS zeitig FROM table1 ORDER BY zeitig DESC;