Statistik

low-group

Erfahrenes Mitglied
Hallo

ich will mir eine Statistikausgabe machen. Hier mal meine Tabelle was ich habe:

meine Tabelle:

user, Posts, postdatum, Themeid

Das sind die relevanten Daten, die man dafür braucht.
So nun bräuchte ich eine Top10 der Posts von den Usern und diese nur für die jeweilige themeid (davon gibts 8) und dann noch für einen Monat gefiltert. Das Datum ist als Timestamp gespeichert. Nun möchte ich mit so wenig wie möglich DB-Abfragen diese Ausgabe haben.
So sollte es dann aussehen:

Themeid (1)
1. user1
2. user4
e.t.c.

Themeid (2)
1. user1
2. user4
e.t.c.

Und das alles nur für einen Monat.

Im mom habe ich eine normale Countabfrage gemacht, der alles zählt:

PHP:
SELECT user, postdatum, COUNT(posts) AS userrecord FROM Tabelle WHERE themeid = 1 GROUP BY user ORDER by userrecord desc LIMIT 10

Wer kann mir da behilflich sein?
 
hmm.... wenn ich hinter where zusätzlich dieses mit reinnehme:

PHP:
AND date(j,postdatum)=9

kommt ein Fehler. Eigentlich sollte er dabei den Count für den Monat 9 ausgeben, aber geht irgendwie nicht :(
 
Versuch mal folgende Abfrage:
Code:
SELECT
        `user`,
        `postdatum`,
        COUNT(`posts`) AS `userrecord`

  FROM
        `Tabelle`

  WHERE
        `themeid` = 1
    AND MONTH(`postdatum`) = 9

  GROUP BY
        `user`

  ORDER BY
        `userrecord` DESC

  LIMIT
        10
 
@Shutdown

jo war mein Fehler mit dem Date, hatte mich da vermacht, aber dies mit dem date() in der SQL-Abfrage geht trotzdem nicht.

@Gumbo

Sowie ich die Abfrage mit dem MONTH erweitere, erfolgt keine Ausgabe mehr, aber auch keine Fehlermeldung.
 
Zurück