Ich versuche, eine Abfrage zu erstellen, die es mir ermöglicht, einen prozentualen Wert für jeden Monat zu erhalten, der Ausgaben, Einkommen und Einsparungen vergleicht miteinander. Ich benutze MySQL-Datenbank.MySQL vergleicht Gesamtsummen zu allen Summen in Ausgaben, Einkommen, Einsparungen (3 verschiedene Tabellen) als Prozentsatz pro Monat
Beispiel auf die Tabellen und die Abfrage: http://sqlfiddle.com/#!9/78b360/1
Bisher bin ich in der Lage, die Summe pro Monat von jedem Tisch zu bekommen:
SELECT *
FROM(
SELECT sum(amount) AS Total, month(date) AS Month FROM expenses
UNION ALL
SELECT sum(amount), month(date) FROM income
UNION ALL
SELECT sum(amount), month(date) FROM savings
GROUP BY month(date)) as grand_total
Ergebnis:
| Total | Month |
|---------|-------|
| 1323232 | 9 |
| 300101 | 9 |
| 20000 | 9 |
| 1 | 10 |
was ich versuche zu erreichen, ist etwas wie das, wenn ich nur auf Monat 9 schaue:
| Total | Month | Percent
|---------|-------|--------
| 1323232 | 9 | 81%
| 300101 | 9 | 18%
| 20000 | 9 | 1%
Können Sie mir bitte hier helfen? Ich habe viele-viele Antworten auf stackoverflow und anderen Seiten angeschaut, konnte aber nicht finden, was ich genau benötigte. Deine Hilfe ist sehr Willkommen. Vielen Dank.
Ich dachte, die endgültige 'GROUP BY' trifft zu. Es tut uns leid. Jetzt kann ich aggregieren, um die Prozentsätze zu erhalten. Nett! – Gee
Wie würde ich ein zweites Mal pro Monat aggregieren, um die Gesamtsumme für jeden Monat zu erhalten? – Gee
Meine Antwort gibt bereits die Gesamtsumme für jeden Monat. –