MyBB.de Forum
MYSQL Daten nach Monat suchen? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: MYSQL Daten nach Monat suchen? (/thread-22219.html)



MYSQL Daten nach Monat suchen? - baeckerman83 - 01.04.2010

Hiho!
Ich habe folgenden mysql Code, aber irgendwie habe ich einen Bug drin und komme nicht drauf wo.

Code:
SELECT sum(einsatz), sum(bilanz) ,date_format(wettabgabe,'%m') as monat, wettabgabe FROM `mybb_bets` WHERE correct is not null and `user_id`=1
and date_sub(date_format(curdate(), '%Y-%m-01'),interval 1 Month) <= wettabgabe AND date_sub(date_format(curdate(), '%Y-%m-31'),interval 1 Month) >= wettabgabe

group by monat order by wettabgabe DESC limit 2

Und zwar möchte ich die Daten haben vom 01.03.2010 - 31.03.2010, nächsten Monat soll er mit dann die Daten vom 01.04.2010 - 30.04.2010 liefern.

Zur Zeit liefert mir der SQL Befehl ein leeres Result. Lasse ich das AND date_sub(date_format(curdate(), '%Y-%m-31'),interval 1 Month) >= wettabgabe weg, dann bekomme ich Daten für März 2010 und April 2010. Wo ist mein Fehler?


RE: MYSQL Daten nach Monat suchen? - StefanT - 01.04.2010

Das sieht kompliziert aus... Ich kann dir da leider nicht helfen.


RE: MYSQL Daten nach Monat suchen? - baeckerman83 - 01.04.2010

Vielleicht denke ich auch nur kompliziert. Man kennt das ja, wenn man einen Gedankenpfad eingeschlagen hat.
Wie würdest du es denn machen um an die daten vom 01.03. bis 31.03. zu kommen in mysql?


RE: MYSQL Daten nach Monat suchen? - StefanT - 01.04.2010

Ich baue so etwas lieber mit PHP... So spezielle Funktionen habe ich mit MySQL noch nicht benutzt.


RE: MYSQL Daten nach Monat suchen? - baeckerman83 - 01.04.2010

Achso, dachte das sei einfacher in MYSQL direkt zu machen, statt erst alle Daten raus zusuchen und dann in PHP das alles zu sortieren.


RE: MYSQL Daten nach Monat suchen? - StefanT - 01.04.2010

Ich meine solche Konstruktionen: date_sub(date_format(curdate(), '%Y-%m-01'),interval 1 Month) Wink


RE: MYSQL Daten nach Monat suchen? - baeckerman83 - 01.04.2010

Achso, naja das kann man ach in PHP machen ist ach klar.
Dann habe ich aber auch das Problem, wie komme ich auf 1.3. - 31.3. und dann 1.4-30.4
Kann das ja dann ersetzen.
und schreiben $datum_php_beginn < wettabgabe_mysql and $datum_php_ende > wettabgabe_mysql


RE: MYSQL Daten nach Monat suchen? - frostschutz - 01.04.2010

Den letzten Tag eines Monats bekommst du mit LAST_DAY

wettabgabe >= date_format(now(), '%Y-%m-01') AND wettabgabe <= LAST_DAY(now())

sollte dann wettabgaben zwischen dem Monatsersten und dem Monatsletzten liefern

Ungetestet und ohne Gewähr, da ich auhc nicht weiß wie die Tabelle bei dir überhaupt aufgebaut ist

das now() bzw. curdate und damit auch date-format würde ich eh rauswerfen, sollte unnötig sein, bzw. du solltest beim Seitenaufbau ja eh wissen bzw. ausgeben können welches Jahr / Monat gefragt ist / angezeigt wird.