MYSQL select count von Wert
Habe ich diese mysql-Tabelle:
DATE | VALUE
und ich werden möchten, wählen Sie die mir zeigt diese Informationen als:
DATE | COUNT TOTAL | COUNT VAL=1 | COUNT VAL=2
Irgendwelche Ideen, wie ich diese erreichen können?
Dank!
- Das klingt wie eine Hausaufgabe. Sie sollte hinzufügen, dass tag, und dann posten, was du bisher ausprobiert habe, zu erklären, was nicht funktioniert wie erwartet, und dann können wir versuchen und Ihnen helfen, herauszufinden, warum. Wir werden nicht die Arbeit für Sie tun, weil Sie nicht lernen, etwas, dass Weg.
- Gut ich kann, erstellen Sie separate Anfragen (eine für eine Gesamt-übersicht, die man für WERT1 und WERT2). Aber ich kann Sie nicht zusammen: SELECT Datum, COUNT(*) FROM Zahlungen, WO paymentProviderId = 2 GROUP BY YEAR( DATE ) , MONTH(DATE ) , DAY(DATE ) (und Nein es ist keine Hausaufgabe)
- Ich habe exakt diese Frage gerade jetzt, und es ist nicht Hausaufgaben in meinem Fall.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, mit
SUM()
erhalten Sie übersichtlicher code. Da es die Summe der Werte entsprechenden Ausdruck für die Zeile.Offizielle Dokumentation gefunden werden kann hier.
Den CASE-Ausdrücken werden null, wenn keine übereinstimmung vorhanden ist. Werden null-Werte nicht gezählt
COUNT()
.Ich mir vorstellen, vielleicht möchten Sie eine dynamische Anzahl von Spalten, eine Spalte für jeden Wert in den Daten. Dies ist nicht möglich, in SQL. Der Spalten bekannt sein muss, an die Zeit, schreiben Sie die Abfrage.
So haben Sie zwei Optionen, um Zwischensummen pro Wert:
Erste Abfrage, die das distinct-Werte aus allen Zeilen der
value
und erstellen Sie eine SQL-Abfrage dynamisch, das anfügen einer Spalte in der select-Liste für jeden einzelnen Wert, den Sie melden möchten. Dann führen Sie diese SQL-Abfrage.Alternativ, Holen alle der Zeilen als Zeilen. Zählen die Teilergebnisse pro Wert in der Anwendung code.
Eine weitere alternative ist die Zählung Teilergebnisse von Gruppen und Summen einbeziehen:
Aber nicht, dass Bericht der Zwischensummen in den Spalten wie gewünscht, so berichtet es die Zwischensummen in den Zeilen.