Forum Doku Wiki Blog

Forumsarchiv 2007, April
mysql, kleines Problem mit date Format

archivierte Beiträge lesen

  1. (DATENBANK) mysql, kleines Problem mit date Format von Berti, 23. 04. 2007, 12:03

mysql, kleines Problem mit date Format

Der folgende Beitrag wurde am 23. 04. 2007, 12:03 Uhr von Berti veröffentlicht.


Hallo!

Ich möchte aus meiner DB alle Einträge eines bestimmten Tages auslesen, bzw. alle Einträge pro Tag (in meinem Fall z.B. die Summe aller Verkäufe eines Tages).

Die Daten werden dem Tag über das date Format zugeordnet, also etwa: "2006-06-25 20:00:58", nun kann ich z.B. folgendes machen:

SELECT `create`, count(id) FROM sold GROUP BY `order` DESC

Damit bekomme ich alle Verkäufe nach Tagen sortiert, aber eben nicht zusammengefasst, da natürlich jeder Eintrag an dem Tag eine andere Uhrzeit hat. Ich suche nun einen Weg es so zu machen, dass nur nach dem Datum, nicht der Uhrzeit gruppiert wird, also "2006-06-25", sodass das Ergebnis wie folgt aussieht:

2006-06-25   25
2006-06-24    8
2006-06-23   17
[..]

Kann mir hier jemand weiterhelfen?
Danke Euch
Berti


mysql, kleines Problem mit date Format

Der folgende Beitrag wurde am 23. 04. 2007, 12:05 Uhr von Berti veröffentlicht.


Ach ja, dem ist hinzuzufügen, dass ich eigentlich ja nach Datum gruppieren will, also:

SELECT `create`, count(id) FROM sold GROUP BY `create` DESC

mysql, kleines Problem mit date Format

Der folgende Beitrag wurde am 23. 04. 2007, 12:19 Uhr von Sven Rautenberg veröffentlicht.

Moin!

> Die Daten werden dem Tag über das date Format zugeordnet, also etwa: "2006-06-25 20:00:58",

Das Feldformat heißt DATETIME, nicht DATE - der Unterschied ist wichtig.

> SELECT `create`, count(id) FROM sold GROUP BY `order` DESC
>
> Damit bekomme ich alle Verkäufe nach Tagen sortiert, aber eben nicht zusammengefasst, da natürlich jeder Eintrag an dem Tag eine andere Uhrzeit hat.

Überlege, wie du aus einem DATETIME-Feld (Datum mit Uhrzeit) mithilfe der Datums- und Zeitfunktionen von MySQL nur das Tagesdatum herausextrahieren kannst.

Sobald das geschafft ist, hast du eine Spalte zum Gruppieren.

 - Sven Rautenberg
--
"Love your nation - respect the others."

mysql, kleines Problem mit date Format

Der folgende Beitrag wurde am 23. 04. 2007, 12:42 Uhr von Berti veröffentlicht.


Hallo Sven,

danke für den Tipp, aber ich bekomme es nicht hin.

SELECT `create`, count(id) FROM sold GROUP BY DATE_FORMAT('create','Ymd') DESC

War mein Ansatz, läuft aber nicht. So richtig fit bin ich mit SQL leider auch nicht. Kannst Du noch konkreter werden? Das wäre nett von Dir.

Gruß,
der Berti

mysql, kleines Problem mit date Format

Der folgende Beitrag wurde am 23. 04. 2007, 13:05 Uhr von Sven Rautenberg veröffentlicht.

Moin!

> danke für den Tipp, aber ich bekomme es nicht hin.
>
> SELECT `create`, count(id) FROM sold GROUP BY DATE_FORMAT('create','Ymd') DESC
>
> War mein Ansatz, läuft aber nicht. So richtig fit bin ich mit SQL leider auch nicht. Kannst Du noch konkreter werden? Das wäre nett von Dir.

Du brauchst die Datumsspalte im Ergebnis, also im SELECT.

Außerdem solltest du das Datum nicht formatieren (das macht einen String daraus, der nach Stringregeln sortiert und gruppiert würde), sondern echt konvertieren. Die Funktion DATE() sollte das eigentlich machen.

 - Sven Rautenberg
--
"Love your nation - respect the others."

mysql, kleines Problem mit date Format

Der folgende Beitrag wurde am 23. 04. 2007, 16:37 Uhr von Berti veröffentlicht.


Danke!

Für alle Interessierten:

SELECT DATE(`create`) as datum, count(id) FROM sold GROUP BY datum DESC

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4