Zählen von Group By Abfragen

teqqy

Aktives Mitglied
Thread Starter
Mitglied seit
13.06.2006
Beiträge
1.011
Hallo,

ich habe in einer SQL Tabelle eine Spalte vom Typ "DATETIME". Diese möchte ich nach Monaten gruppiert und ausgegeben haben, wie viele Zeilen pro Monat es gibt.

Das Gruppieren pro Monat habe ich mittels substr gelöst. Allerdings fehlt mir jetzt noch das zählen der Zeilen. Mit count() funktioniert es nicht, da er immer den Wert 1 liefert und nicht den richtigen Wert. mysql_num_rows() funktioniert auch nicht.

Könnte mir einer einen Denkanstoß geben wie ich auf die richtige Lösung komme? Danke!:cake:
 

msslovi0

Aktives Mitglied
Mitglied seit
20.03.2005
Beiträge
2.727
Code:
select date_format(a.created, "%m"), count(distinct(a.id)) from table a group by date_format(a.created, "%m");
created ist dabei dein DATETIME-Feld, id ist der Primärschlüssel. table ist die Tabelle.
 
  • Gefällt mir
Reaktionen: teqqy

teqqy

Aktives Mitglied
Thread Starter
Mitglied seit
13.06.2006
Beiträge
1.011
Hallo,
danke schon mal für die Hilfe. Leider funktioniert das noch nicht ganz. Ich habe jetzt deinen Vorschlag an meine Gegebenheiten angepasst und es sieht nun so aus:
PHP:
            <?php
				$sql = "select date_format(a.post_date, '%m'), 
						count(distinct(a.post_id))
						from posts as a 
						group by date_format(a.post_date, '%m')";

				$result = mysql_query($sql);
				echo $result;
			?>
Ich lasse jetzt erst einfach mal alles ausgeben ohne irgendwas damit anzustellen um zu gucken ob es funktioniert. Aber leider bekomme ich folgende Meldung:
Es scheint also dann wohl noch nicht ganz zu funktionieren. Wenn mir jemand noch grad helfen könnte, wäre das toll :cake:
 

Stacki

Mitglied
Mitglied seit
04.12.2006
Beiträge
215
Probier mal die Daten in eine "echte" Tabelle zu schreiben und dann zu zählen.

Gruß,
Stacki
 

teqqy

Aktives Mitglied
Thread Starter
Mitglied seit
13.06.2006
Beiträge
1.011
Ach ja. Danke koli.bri
 
Oben