evtl passender im Datenbank-Brett, aber ich denke mal hier passt es auch…?
Also ich habe folgendes „Problem“:
Ich würde gerne ein count anwenden auf ein query und dabei dann ausgegeben haben wie oft in einer bestimmten Spalte eine 0 oder eine 1 oder eine 2 steht…
Nun fehlt mir irgendwie die herangehensweise…
Gruppiert ist schon auf ein Datumswert - d.h. ich bekomme im Moment die Summe der 0er, einser und zweier zusammen - nun möchte ich diese aber aufgeteilt haben - und wenn möglich nicht in unterschiedlichen Zeilen ausgegeben…
Aber irgendwie fällt mir nicht ein, wie ich das machen könnte…?
ja, dies ist in der Tat eine Frage nach einem SQL Statement, die im DB Brett sicher besser aufgehoben wäre.
Außerdem wäre es hilfreich wenn du die Struktur deiner Tabelle und dein bisheriges SQL Statement hier posten würdest.
Prinzipiell würde ich das so oder so ähnlich formulieren:
SELECT DISTINCT Datum, SUBQRY0.AnzahlNullen, SUBQRY1.AnzahlEinsen
FROM TabellenName
INNER JOIN (SELECT COUNT(SpaltenName) AS AnzahlNullen, Datum FROM TabellenName GROUP BY Datum WHERE Spaltenname=0) AS SUBQRY0 ON TabellenName.Datum = SUBQRY0.DATUM
INNER JOIN (SELECT COUNT(SpaltenName) AS AnzahlEinsen, Datum FROM TabellenName GROUP BY Datum WHERE Spaltenname=1) AS SUBQRY1 ON TabellenName.Datum = SUBQRY1.DATUM
Damit solltest du eine Ausgabe bekommen die in etwa so aussieht:
Das SQL Statement muss ggf. noch etwas an das Datenbanksystem angepasst werden, da Unterabfragen je nach DB (Access/Oracle/MySQL) unterschiedlich formuliert werden.
Vielleicht bietet dir dies ja einen Ansatz zum weiterarbeiten.
Gruß,
SirC
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
mein bisheriges statement:
$sql = „SELECT status, count(wann), floor(wann / (60*60*24)) as wann2 FROM nachrichten WHERE sender=’$userdata[id]’ group by wann2, status order by wann2 DESC“;
Meine Tabelle sieht etwa so aus:
timestamp | status | blabla
-----------+---------+---------------
123456897 | 1 | x
123456950 | 2 | y
123456990 | 2 | z
123457151 | 1 | a
...
mal sehen ob ich Dein Statement umformen kann aber mit inner join hab ich bisher noch nie gearbeitet -.-