Nur daten eines bestimmten monats über Datenbankabfrage

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Nur daten eines bestimmten monats über Datenbankabfrage

Beitrag von tschekowski »

Hi,

hab ne kurze frage: in meiner datenbank werden alle zeile mit einem datum versehen das im Format dd.mm.yyyy vorliegt. jetzt möchte ich alle daten des aktuellen (letzten) monats und des aktuellen (letzten) jahres ausgeben. Wie müsste eine solche abfrage aussehen ?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Werden die als Textfeld gespeichert? Dann solltest du es mal mit

Code: Alles auswählen

WHERE feld LIKE '__.01.2003'
probieren. Siehe auch http://dev.mysql.com/doc/mysql/en/Strin ... tions.html

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Code: Alles auswählen

SELECT ... FROM ... WHERE month(datumsfeld) = month(now()) AND year(datumsfeld) = year(now())
für den Aktuellen und

Code: Alles auswählen

SELECT ... FROM ... WHERE month(datumsfeld) = month(now() - INTERVAL 1 MONTH) AND year(datumsfeld) = year(now() - INTERVAL 1 MONTH)
für den vorigen Monat
KB:knigge
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

jap das funktioniert einwandfrei - danke!

noch was anderes: meine abfrage lautet wie folgt:

Code: Alles auswählen

$result2=mysql_query("SELECT SUM(Menge_1*Preis_1) AND Rechnungsdatum  FROM Bestellungsdaten ORDER BY SUM(Menge_1*Preis_1) DESC LIMIT 7");
d.h. ich will hingehen und die ausgabe nach der vorher errechneten summe sortieren - wie geht das ? (diese abfrage funktioniert nämlich nicht)
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag von Dennis63 »

Code: Alles auswählen

SELECT SUM(Menge_1*Preis_1) AS summe,
Rechnungsdatum
FROM Bestellungsdaten
ORDER BY summe DESC
LIMIT 7
So soll.te es gehen..

Grüße
Dennis
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

alles in allem gehts - jetzt bräuchte ich nur noch das rechnungsdatum (mit dem gehts irgendwie nicht) - denn das brauche ich bei der ausgabe.....
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

tschekowski hat geschrieben:mit dem gehts irgendwie nicht
irgendwie?
KB:knigge
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

immer wenn das Rechnunsdatum in der Abfrage drin vorkam hat es nicht funktioniert....ist aber auch egal weil die abfrage gibt doch nich das aus was ich mir erhofft hatte

ich habe das rechnungsdatum und die summe dieser zeile - jetzt soll die datenbank alle summen (der zeilen) des gleichen datums zusammenzählen und die 7 höchsten "Tagessummen" ausgeben - wie könnte eine solche Abfrage aussehen ?
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

tschekowski hat geschrieben:ich habe das rechnungsdatum und die summe dieser zeile - jetzt soll die datenbank alle summen (der zeilen) des gleichen datums zusammenzählen und die 7 höchsten "Tagessummen" ausgeben - wie könnte eine solche Abfrage aussehen ?
Wie wärs mit Hausaufgaben machen.....

indem du dir
group by
having
data_sub + Interval

anschaust......

BTW: AS Klauseln weglassen damit es ANSI SQL konform ist. Schließlich hat nicht jeder explizit eine Mysql DB bei Intranet z.B. etc.
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

wenn ich also group by Rechnungsdatum machen werden alle Werte von SUM(Menge_1*Preis_1) AS summe eines Rechnungsdatums zusammenaddiert ?
Antworten

Zurück zu „Coding & Technik“