Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP / MySQL] Datum nach Monat gruppieren (https://www.delphipraxis.net/141696-%5Bphp-mysql%5D-datum-nach-monat-gruppieren.html)

Luckie 14. Okt 2009 10:22


[PHP / MySQL] Datum nach Monat gruppieren
 
Und noch einen für die SQL Experten:

In meiner DB habe ich das Geburtsdatum in der Form YYYY-MM-TT stehen. So, schön wäre es jetzt, wenn man das irgendwie nach dem Monat gruppieren könnte, das sieht einfach besser aus und die Darstellung ist übersichtlicher. Gibt es da was in MySQL oder muss ich mit PHP das Datum zerpflücken, meine eigene Sortierroutine schreiben und dann alles wieder zusammen setzen?

mirage228 14. Okt 2009 10:23

Re: [PHP / MySQL] Datum nach Monat gruppieren
 
Ist das ein DATETIME oder TIMESTAMP Feld?

Probier mal
Code:
GROUP BY Month(Datum)
Viele Grüße

Luckie 14. Okt 2009 10:30

Re: [PHP / MySQL] Datum nach Monat gruppieren
 
Das war es nicht:
SQL-Code:
SELECT name, vorname, priv_gebdat FROM adressen WHERE (name <> '' OR vorname <> '') AND priv_gebdat <> '0000-00-00' ORDER BY priv_gebdat GROUP BY Month(priv_gebdat)
Zitat:

mysql_fetch_object(): supplied argument is not a valid MySQL result resource
Das Feld ist vom Typ date

DeddyH 14. Okt 2009 10:33

Re: [PHP / MySQL] Datum nach Monat gruppieren
 
Bist Du sicher, dass Du Gruppieren meinst? Zeig doch mal ein Beispielergebnis, wie Du Dir das vorstellst.

himitsu 14. Okt 2009 10:36

Re: [PHP / MySQL] Datum nach Monat gruppieren
 
Mal soeine Frage:
ist die Reihenfolge eigentlich egal?

also ich würde erst gruppieren und dann das Gruppierte sortieren :gruebel:

SQL-Code:
... GROUP BY Month(priv_gebdat) ORDER BY priv_gebdat

Luckie 14. Okt 2009 10:39

Re: [PHP / MySQL] Datum nach Monat gruppieren
 
So sind sie aufsteigend sortiert.
Code:
1926-01-14
1940-11-23
1942-03-03
1946-09-11
1948-09-27
1949-06-29
1950-10-10
1967-04-07
1969-12-04
1970-04-26
1970-05-15
1972-07-20
1972-11-27
1973-05-01
1974-05-17
1977-01-31
1977-06-30
1980-03-25
1983-06-13
Und ich hätte gerne:
Code:
1926-01-14
1977-01-31

1940-11-23

1942-03-03
1980-03-25

1967-04-07
1970-04-26

1973-05-01
1970-05-15
1974-05-17

1946-09-11

1983-06-13
1949-06-29
1977-06-30

1972-07-20

1948-09-27

1950-10-10

1972-11-27

1969-12-04
Und in den Gruppen sollten sie dann natürlich auch aufsteigend sortiert sein.

mkinzler 14. Okt 2009 10:42

Re: [PHP / MySQL] Datum nach Monat gruppieren
 
SQL-Code:
SELECT
    name, vorname
FROM
    adressen
WHERE
    (name <> '' OR vorname <> '') AND priv_gebdat <> '0000-00-00'
ORDER BY
   priv_gebdat
GROUP BY
    name, vorname, Month(priv_gebdat);

DeddyH 14. Okt 2009 10:43

Re: [PHP / MySQL] Datum nach Monat gruppieren
 
Das ist doch nur eine Sortierung.
SQL-Code:
SELECT name, vorname, priv_gebdat
FROM adressen
WHERE (name <> '' OR vorname <> '')
AND priv_gebdat <> '0000-00-00'
ORDER BY MONTH(priv_gebdat),YEAR(priv_gebdat),DAY(priv_gebdat),name,vorname
Ungetestet.

Luckie 14. Okt 2009 10:48

Re: [PHP / MySQL] Datum nach Monat gruppieren
 
Ja, so geht es. :P

Ravus80 14. Okt 2009 10:49

Re: [PHP / MySQL] Datum nach Monat gruppieren
 
Hallo,


SQL-Code:
SELECT name, vorname, priv_gebdat
FROM adressen WHERE (name <> '' OR vorname <> '') AND priv_gebdat <> '0000-00-00'
GROUP BY Month(priv_gebdat), Year(priv_gebdat)
ORDER BY priv_gebdat
ungetestet.

Gruß
Pascal

[edit=mkinzler]Delphi-Tag durch SQL-Tag ersetzt Mfg, mkinzler[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz