webentwicklung-frage-antwort-db.com.de

mysql summengruppe nach datum auswählen

Kurze Frage, ich habe die folgende Tabelle

+-------------+---------------------+
| total       | o_date              |
+-------------+---------------------+
|          35 | 01-11-2009 19:32:44 | 
|        41.5 | 01-12-2009 22:33:49 | 
|        61.5 | 01-23-2009 22:08:24 | 
|          66 | 02-01-2009 22:33:57 | 
|       22.22 | 02-01-2009 22:37:34 | 
|       29.84 | 04-20-2009 15:23:49 | 
+-------------+---------------------+

Ich möchte die Summe für jeden Monat addieren und die Summe nach Monat zusammenfassen. So zum Beispiel Jan-> 138 Feb-> 88.2 Apr-> 29.84

Irgendwelche Hinweise darauf. Vielen Dank

37
Mike

Diese Lösung gibt Ihnen den Monatsnamen als Spalte Ihrer Ergebnismenge an, gefolgt von der Gesamtsumme nach Bedarf. 

SELECT MONTHNAME(o_date), SUM(total) 
FROM theTable
GROUP BY YEAR(o_date), MONTH(o_date)
69
Simon Fox
select year(o_date), month(o_date), sum(total)
from table
group by year(o_date), month(o_date);
7
Todd Gardner

Monatliche und jährliche Daten aus der MySQL-Datenbank abrufen:

SELECT MONTHNAME(o_date), YEAR(o_date), SUM(total) 
FROM the_table 
GROUP BY YEAR(date), MONTH(date)
3
Fazlul Haq

Wie ich mich aus einem früheren MySQL-Leben erinnere, eine Abfrage wie

SELECT LEFT(o_date, 7) month, SUM(total) FROM TABLE group BY month

verwendet den Index für das Feld o_date (den ich leider nicht für YEAR() und MONTH() garantieren würde).

Sie müssten jedoch das Feld month formatieren, und dies wird höchstwahrscheinlich auf keinem anderen Datenbanksystem indiziert ...

3
Sorin Mocanu
SELECT SUM(total)
FROM table
GROUP BY MONTH(o_date)
2
James Skidmore
SELECT year(FROM_UNIXTIME(created)) year, month(FROM_UNIXTIME(created)) month, sum(amount) total
FROM {my_table}
GROUP BY year, month
ORDER BY year, month;
0
hugronaphor

Versuchen Sie es mit Group BY:

select count(A_id) As Tid,Day(CrDate) from Ap Group By Day(CrDate)
0
umang

Ja, arbeite für mich so:

SELECT MONTHNAME(date), SUM(`in`) as SOMA, date FROM transactions GROUP BY YEAR(date), MONTH(date)

Aber ich muss nur das Ergebnis dieses Jahres (2014) zeigen. Wie kann ich das tun?

0
FullDISK