MySQL - Anzahl Logins der User ausgeben

dwex

Erfahrenes Mitglied
Hallo Leute,

ich sitze wieder mal gehörig auf dem Schlauch.

Ich möchte eine MySQL-Query schreiben mit der ich die Anzahl der Logins der Nutzer ausgeben kann.

Will heissen:
Ich habe ich eine MySQL-Datenbank jeden Login der User protokolliert also es gibt z.B. den User "mad" der hat sich am 01.01.2005 und am 02.01.2005 als insgesamt 2x eingeloggt - das steht dann auch in der DB jetzt möchte ich im Adminbereich ausgeben welcher User sich wie oft eingeloggt hat und das ganze so sortieren das der mit dem meisten logins als erster angezeigt wird und so weiter.

Wie geht das denn?
Vielen Dank für euere Antworten!
 
Da Du Deine Datenbankstruktur nicht preis gibst, hier ein exemplarisches Beispiel, basierend auf den Tabellen user und logins. Da es hier im Editor getippt ist, sind Syntaxfehler nicht auszuschließen.
Code:
SELECT 
  user.ID AS userid,
  user.name AS username,
  COUNT(logins.userID) AS AnzahlLogins
FROM user
LEFT JOIN logins ON (user.ID=logins.userID)
GROUP BY user.ID
ORDER BY AnzahlLogins DESC
Gruß hpvw
 
Oh sorry,

also ich habe 1 Tabelle mit folgenden Spalten id,datum,ip
Das Datum soll ein Timestamp oder eine DateTime werden.
Könntest du mir den Code bitte dafür Posten damit ich den auch in meine PHP-MySQL-Query bekomme.
Wäre echt nett von dir.

Vielen Dank im Voraus.
 
Und wodurch wird da der einzelne User Identifiziert, zu dem der Login-Vorgang gehört?
Das Feld gehört dann zum GROUP BY. Beim Zählen mit COUNT, kannst Du dann das Zeit-Feld nehmen.

Gruß hpvw
 
Zurück