[MySQL] Bedingungen zu Datumsfeldern?

oezer

Erfahrenes Mitglied
Hi,

hab es geschafft meine Daten aus der DB in diverse spalten ausgeben zu lassen.

bsp.

| bestellnummer | kunden_name | gekauft_datum | order_total |
-----------------------------------------------------------------------------------------------
| 1 | meyer | 2006-09-18 16:48:35 | 94.9000
---------------------------------------------------------------
| 2 | werner | 2006-09-27 15:18:09 | 123.8000
----------------------------------------------------------------
| 3 | blabla | 2006-11-09 21:12:15 | 38.9000
--------------------------------------------------------------

jetzt möchte ich wie in diesem bsp. die Summe für die im September eingekauften Waren haben. Ist das sinnvoll das direkt von der mysql berechnen zu lassen oder die daten komplett auszuselektieren und spalten weise ausgeben und dann mit PHP berechnen was zum beispiel die summe im monat xyz war?

hier mein neuer sql statement
Code:
SELECT o.orders_id AS bestellnummer, o.customers_name AS kunden_name, o.date_purchased AS gekauft_datum, s.orders_status_name, ot.value AS order_total
FROM orders o
LEFT JOIN orders_total ot ON ( o.orders_id = ot.orders_id ) , orders_status s
WHERE o.orders_status = s.orders_status_id
AND s.language_id = '2'
AND ot.class = 'ot_total'
ORDER BY o.orders_id ASC

hat jemand ein tip für mich wie ich das bewerkstelligen kann?
thx :)
 
Hallo,

ich weiß nicht wie die Datumsfunktionen bei My SQL gehen aber wenn du es für einen Monat machen möchtest könnte das hier funktionieren:
PHP:
SELECT         	-- Summenfunktion für das addieren aller werte in der spalte ot.Value
		    Sum (ot.Value) AS order_total_september

FROM orders o
LEFT JOIN orders_total ot ON ( o.orders_id = ot.orders_id ) , orders_status s

WHERE o.orders_status = s.orders_status_id

AND s.language_id = '2'

AND ot.class = 'ot_total'

-- Hier die Bedingung für den Monat September (keine Ahnung wie Datumsfunktionen bei MySQL funktionieren) 
AND 	o.date_purchased > datumsfunktion (31 August) AND o.date_purchased < (1 October)

Du bekommst deine Ausgabe in ewa so :

order_total_september
--------------------------------
2408450


Prinzipiell müsste das so funktionieren wenn du das ueber das datum einschränkst. Wenn Du eine Auswertung über alle Monate eines jahres machen möchtest is "Case when" ein Tip.

Grüße

TP
 
Zuletzt bearbeitet:
Zurück