CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
18.09.2014, 19:06:53
|
Anfänger
|
|
Registriert seit: Jan 2014
Alter: 40
Beiträge: 4
|
|
monatliche Bilanzen und Gesamtsummen in einer Abfrage
Hallo Leute,
ich habe eine MYSQL Tabelle nach folgendem Muster:
Gesamt ist eine fortlaufende Summe aus div. unterschiedlichen Spalten, die ich hier gesondert ablege.
Code:
ID|Datum |Betrag|Gesamt
---------------------------
1 |2013-01-25|-10.00|-25.50
2 |2013-02-10| 12.00|-13.00
3 |2014-05-20|-25.00|-38.00
4 |2014-09-08| 40.00| 2.00
usw...
Nun möchte ich daraus die Daten so zusammenfassen, dass jeweils am Monatende eine Bilanz des
laufenden Jahres und des Vorjahres dargestellt wird. Zusätzlich soll die Gesamtsumme am Ende
des jeweiligen Monats angezeigt werden.
Code:
Monat|Jahr |Vorjahr|Gesamt
----------------------------
01 |-13.78 |-25.68 | 0.00
02 | 71.79 | 11.03 | 0.00
03 | 13.80 | 30.86 | 0.00
04 | 2.45 | 43.94 | 0.00
05 | 87.19 |-38.46 | 0.00
06 |-68.90 | 72.43 | 0.00
07 |-70.74 |-95.85 | 0.00
08 | 64.14 | 4.90 | 0.00
09 |-18.37 | 16.52 | 0.00
10 | 0.00 | 61.45 | 0.00
11 | 0.00 | 45.55 | 0.00
12 | 0.00 | 39.17 | 0.00
Ich habe dazu bisher folgenden MySQL Code, mit dem bis auf die Gesamtsumme auch alles funktioniert.
Code:
SELECT
DATE_FORMAT(Datum, '%m') as monat,
SUM(IF(DATE_FORMAT(Datum, '%Y') = '2014', Betrag, 0.00)) AS jahr,
SUM(IF(DATE_FORMAT(Datum, '%Y') = '2013', Betrag, 0.00)) AS vorjahr,
IF(DATE_FORMAT(Datum, '%Y') = '2014', gesamt, 0) AS gesamt
FROM kb_eintrag
LEFT JOIN (
SELECT
DATE_FORMAT(datum,'%m') AS d,
MAX(DATE_FORMAT(datum,'%d')) AS dmax,
MAX(Eintrag_ID) AS ID
FROM kb_eintrag
WHERE DATE_FORMAT(Datum, '%Y') = '2014'
GROUP BY DATE_FORMAT(Datum,'%m')
ORDER BY NULL
) m
ON DATE_FORMAT(Datum,'%Y-%m') = m.d
AND Eintrag_ID = m.ID
WHERE DATE_FORMAT(Datum, '%Y') BETWEEN '2013' AND '2014'
AND Kategorie > 1
GROUP BY DATE_FORMAT(Datum, '%m')
ORDER BY DATE_FORMAT(Datum, '%m') ASC
Wer kann mir dabei helfen?
|
19.09.2014, 07:14:25
|
Junior Member
|
|
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
|
|
AW: monatliche Bilanzen und Gesamtsummen in einer Abfrage
Zitat:
Zitat von kriztan
Nun möchte ich daraus die Daten so zusammenfassen, dass jeweils am Monatende eine Bilanz des
laufenden Jahres und des Vorjahres dargestellt wird. Zusätzlich soll die Gesamtsumme am Ende
des jeweiligen Monats angezeigt werden.
Wer kann mir dabei helfen?
|
Mir ist nicht klar, wie Du von den oberan Zahlen auf die unteren kommst.
|
19.09.2014, 09:58:23
|
Anfänger
|
|
Registriert seit: Jan 2014
Alter: 40
Beiträge: 4
|
|
AW: monatliche Bilanzen und Gesamtsummen in einer Abfrage
Das oben ist nur ein Muster, die Tabelle hat mehrere tausend Einträge... Das wollte ich nicht alles 1:1 hier eingeben :D
|
24.09.2014, 09:05:31
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: monatliche Bilanzen und Gesamtsummen in einer Abfrage
Moin,
geht bestimmt noch eleganter...
Code:
Select Monat,
(select sum(Betrag) as vbetrag FROM `kb_eintrag` as vorjahr where month(vorjahr.Datum)=alleMonate.Monat and year(vorjahr.Datum)=year(now())) as Jahr,
(select sum(Betrag) as vbetrag FROM `kb_eintrag` as vorjahr where month(vorjahr.Datum)=alleMonate.Monat and year(vorjahr.Datum)=year(date_sub(now(),interval 1 year))) as Vorjahr
from (select distinct(month(Datum)) as Monat from kb_eintrag order by month(Datum)) as alleMonate
MfG
CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
25.09.2014, 08:06:29
|
Anfänger
|
|
Registriert seit: Jan 2014
Alter: 40
Beiträge: 4
|
|
AW: monatliche Bilanzen und Gesamtsummen in einer Abfrage
Zitat:
Zitat von Ckaos
Moin,
geht bestimmt noch eleganter...
|
Moin,
vielen Dank. Aber den Part, den Du mir geschickt hast, habe ich wie folgt gelöst:
Code:
SELECT DATE_FORMAT(Datum, '%m') as monat,
SUM(IF(DATE_FORMAT(Datum, '%Y') = '2014', Betrag, 0.00)) AS jahr,
SUM(IF(DATE_FORMAT(Datum, '%Y') = '2013', Betrag, 0.00)) AS vorjahr
FROM kb_eintrag
WHERE DATE_FORMAT(Datum, '%Y') BETWEEN '2013' AND '2014'
AND Kategorie > 1
GROUP BY DATE_FORMAT(Datum, '%m')
ORDER BY DATE_FORMAT(Datum, '%m') ASC
Die Ergebnisse Deiner und meiner Abfrage sind identisch.
Leider kann ich damit noch nicht die Gesamtsumme am Ende des jeweiligen Monats anzeigen lassen. Also die Daten aus der Spalte Gesamt am letzten Tag des Monats (der nicht zwangsläufig der letzte Kalendertag sein muss).
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:24:17 Uhr.
|