Donnerstag, 5. Juni 2008

Zeitraum letzter Monat in SQL abfragen

Bei zeitbehafteten Datensätzen ist es oftmals hilfreich, sich spezielle Zeiträume anzuschauen. Beispielsweise was alles letzten Monat passiert ist. Das ganze lässt sich in MySQL so bewerkstelligen, wie in der folgenden Erklärung.

Im Prinzip lässt sich die Anfrage für den letzten Monat recht einfach in reinem SQL abbilden. Einige verwenden PHP als Hilfmittel. Es sind aber nur ein paar CASTs notwenig um es nur in SQL zu haben:

Download Code!

  1.  
  2. SELECT
  3.         ip,
  4.         a_date_time_field,
  5.         CAST(a_date_time_field AS DATE) AS the_date,
  6.         conversion
  7. FROM `orders`
  8. WHERE
  9.         MONTH(a_date_time_field)= MONTH(DATE_SUB(NOW(), INTERVAL 1 MONTH))
  10. AND YEAR(a_date_time_field)=YEAR(NOW());
  11. ORDER BY the_date ASC
  12.  

Das Feld a_date_time_field ist, wie der Name schon vermuten lässt ein Feld mit dem Typ DATE_TIME in MySQL. Im Beispiel also unser Feld mit den Datums und Uhrzeitwerten.

Der Interesannte Teil ist der, in der WHERE Bedingung. In der WHERE-Klausel wird der letzte Monat und das aktuelle Jahr zu Bedingung. Also genau das was wir brauchen.

Bewertung: 2 von 5, 1 Stimme(n) 2576 Klicks
Datenbank
Von Mr.Foo in Datenbank am 05.06.08@16:03 Uhr

Trackbacks
Trackback für spezifische URI dieses Eintrags

Keine Trackbacks

3 Kommentare
Ansicht der Kommentare: (Linear | Verschachtelt)

monte - #1 - 09.10.2008 11:46 - (Antwort)

Das Skript funktioniert nur vom Februar bis Dezember.
Im Januar funktioniert das nicht, da das Jahr nicht berücksichtigt wird, wird ja eins weniger!

Lieben Gruß

Mr. Foo - #1.1 - 10.10.2008 13:10 - (Antwort)

Jetzt echt? Wusste ich nicht - wie kann man das besser machen?

Sascha - #2 - 18.12.2008 15:20 - (Antwort)

so:


SELECT
ip,
a_date_time_field,
CAST(a_date_time_field AS DATE) AS the_date,
conversion
FROM `orders`
WHERE
MONTH(a_date_time_field)= MONTH(DATE_SUB(NOW(), INTERVAL 1 MONTH))
AND YEAR(a_date_time_field)=YEAR(DATE_SUB(NOW(), INTERVAL 1 MONTH))
ORDER BY the_date ASC


Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Sie können [geshi lang=LANG][/lang] Tags verwenden um Quellcode abhängig von der gewählten Programmiersprache einzubinden
 
 

Mr. Foo

Zeitraum letzter Monat in SQL abfragen

  • Homepage

Suche

Kategorien

  • C-Sharp (4)
  • Datenbank (28)
  • Delphi (2)
  • Entwicklung (36)
  • Flash (5)
  • Games (10)
  • Gutscheine (4)
  • Hardware (14)
  • HTML CSS (15)
  • Internet (87)
  • Java (32)
  • Javascript (24)
  • Linkdump (9)
  • Linux (96)
  • Low-Level (10)
  • Lua (8)
  • Musik (9)
  • Netzwerk (25)
  • New World Order (109)
  • Perl (3)
  • PHP (123)
  • Magento (5)
  • Symfony (3)
  • Zend Framework (7)
  • Probleme und Lösungen (26)
  • Python (22)
  • Ressourcen (23)
  • Sicherheit (91)
  • Software (58)
  • Sonstiges (45)
  • Own Stuff (46)
  • Spass (45)
  • Technik / Wissenschaft (4)
  • Tips (15)
  • Weisheiten (16)
  • Windows (23)
  • Wort des Tages (15)


Alle Kategorien

Archive

  • Februar 2012
  • Januar 2012
  • Dezember 2011
  • Das Neueste ...
  • Älteres ...

Abonnieren lohnt sich!

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Kommentare

Tagcloud

Datenbank Entwicklung Internet Java Javascript Linux Lösung Netzwerk News New World Order PHP Problem Probleme und Lösungen Sicherheit Software Sonstiges Spass Tipp Update Windows

Beliebte Einträge

  • Magento ist scheisse (188)
  • Plugin-container.exe deaktivieren (101)
  • C compiler cannot create executables unter Debian (53)
  • BWin Betrug und Abzocke bei Minigames? (49)
  • Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert) (41)
  • Sicheres Kontaktformular mit PHP - Spam verhindern (37)
  • Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden (26)
  • UML-Diagramme aus Java-Klassen generieren – Java2UML (25)
  • Option Bug im Internet Explorer bei Nutzung von innerHTML und Javascript (24)
  • Zend Studio - Javaw.exe lastet die CPU aus (24)

Kommentare

sandi zu Plugin-container.exe deaktivieren
Mo, 06.02.2012 11:10
Leider hat es nicht geklappt. Jetz [...]
Frank zu Magento ist scheisse
So, 05.02.2012 21:58
Seit etwa 6 Monaten bin ich auf de [...]
hansie zu Canon Blink Codes
Sa, 04.02.2012 19:49
Hallo, mein Canon Drucker MP 630 [...]
Bachsau zu Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert)
Mi, 01.02.2012 22:54
Bei Linux machen die Kernel-Entwic [...]
Mr. Foo zu Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert)
Mi, 01.02.2012 21:47
Also so kurz mal probiert hab ich [...]
 

Kontakt/Informationen