Hi,
habe folgendes Problem:
Ich möchte von einer Tabelle user denjenigen Benutzer abfragen, der am meisten eine seite besucht hat. Ich habe folgendes probiert:
SELECT *, MAX(user.max_visit) FROM user GROUP BY user.id ORDER BY NULL.
Das Resultat enthält zwar die meisten Besuche (max_visit) aber nicht die user ID und alle andere Spalten dieses Users, sonder die vom ersten User.
Daher schlicht die Frage: Wie bzw. ist es möglich von einer Tabellen den Eintrag abzufragen mit dem maximalen Wert einer Spalte. Also nicht nur den maximalen Wert, sondern den ganzen Datensatz.
Danke!
Hallo Salami,
Du musst einen geschachtelten SQL anfertigen.
Mit den Subselects ermittelst Du Dir die Max-Zahl und die User-ID,
mit dem normalen ermittelst Du Dir alle Daten dieses Users:
Also bspw:
SELECT * FROM tabelle WHERE user-id IN ( SELECT user_id FROM tabelle WHERE max.visit IN ( SELECT MAX(max.visit) FROM tabelle))
Ich habes aber nicht getestet nur einfach so …
Gruß
Klaus
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]