timestamp: Nach Monaten/Wochen gruppiert ausgeben

timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 09:07:24 von Peter Wittenberger

Hallo NG,

habe diesen Beitrag auch unter de.comp.lang.php.misc veröffentlicht.
Da es sich wohl um ein MySQL-Problem/Anliegen handelt, wurde ich gebeten
auch hier zu posten.


Bin gerade ein bischen am Verzweifeln. Habe eine MySQL-Tabelle mit ca.
400 Datensätzen. Ich möchte diese nun automatisch in Grüppchen ausgeben:

Monat 03.2006: go.......
Monat 04.2006: go.......

etc. Als Wert dient mir der timestamp, den jeder Eintrag hat. Ich
schaffe es aber nicht, automatisch diese Monate/Jahre-Gruppen zu
generieren. Was ich zur Zeit mache: Händisch den Monat 03/2006 anzulegen
und nur timestamps, die auch da reinpassen, zu selectieren und auszugeben.

Geht das auch einfacher, professioneller, automatisiert?
Ich möchte, dass mein PHP-Skript automatisch nach Monat/Jahr
gruppiert ausgibt.

Wie immer: Danke Euch,
s'Peterle

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 09:24:23 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 10:11:54 von Peter Wittenberger

Andreas Kretschmer schrieb:
> begin Peter Wittenberger schrieb:
>> Bin gerade ein bischen am Verzweifeln. Habe eine MySQL-Tabelle mit ca.
>> 400 Datensätzen. Ich möchte diese nun automatisch in Grüppchen ausgeben:

> Du willst als ein GROUP BY gruppiert um dem Monat/Jahr - Anteil eines
> Datums. Du willst also mit einer Funktion Dir von einem Datum nur diese
> Werte anzeigen lassen. Du willst nun wissen, wie das geht. Kurz: Du
> willst das Handbuch lesen.
>
>
> end
> Andreas

Hallo Andreas,

genau. Group by mache ich ja jetzt schon. Allerdings "kreise" ich die
timestamps händisch ein. Bereich A = x bis y, Bereich(Monat) B = y bis z
usw. Darum auch mein Post: Gibt es eine Funktion, mit der ich das
händische weglassen und den timestamp zielgerecht handeln kann.

LG, Peter

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 10:20:24 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 10:44:44 von Claus Reibenstein

Peter Wittenberger schrieb:

> habe diesen Beitrag auch unter de.comp.lang.php.misc veröffentlicht.
> Da es sich wohl um ein MySQL-Problem/Anliegen handelt, wurde ich gebeten
> auch hier zu posten.

Nicht direkt. Du wurdest gebeten, in den "speziellen Gruppen" zu fragen.
Da Deine Frage sowohl Datenbanken als auch PHP betrifft, wäre
de.comp.lang.php.datenbanken wohl die bessere Wahl.

Ich leite mal dahin um.

> Bin gerade ein bischen am Verzweifeln. Habe eine MySQL-Tabelle mit ca.
> 400 Datensätzen. Ich möchte diese nun automatisch in Grüppchen ausgeben:
>
> Monat 03.2006: go.......
> Monat 04.2006: go.......
>
> etc. Als Wert dient mir der timestamp, den jeder Eintrag hat. Ich
> schaffe es aber nicht, automatisch diese Monate/Jahre-Gruppen zu
> generieren. Was ich zur Zeit mache: Händisch den Monat 03/2006 anzulegen
> und nur timestamps, die auch da reinpassen, zu selectieren und auszugeben.
>
> Geht das auch einfacher, professioneller, automatisiert?
> Ich möchte, dass mein PHP-Skript automatisch nach Monat/Jahr
> gruppiert ausgibt.
>
> Wie immer: Danke Euch,
> s'Peterle

Gruß. Claus

--
,~°O O
O ,´ / |/|\
/ |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
/__| `~...............................................~´ /___|/ /

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 10:44:44 von Claus Reibenstein

Peter Wittenberger schrieb:

> habe diesen Beitrag auch unter de.comp.lang.php.misc veröffentlicht.
> Da es sich wohl um ein MySQL-Problem/Anliegen handelt, wurde ich gebeten
> auch hier zu posten.

Nicht direkt. Du wurdest gebeten, in den "speziellen Gruppen" zu fragen.
Da Deine Frage sowohl Datenbanken als auch PHP betrifft, wäre
de.comp.lang.php.datenbanken wohl die bessere Wahl.

Ich leite mal dahin um.

> Bin gerade ein bischen am Verzweifeln. Habe eine MySQL-Tabelle mit ca.
> 400 Datensätzen. Ich möchte diese nun automatisch in Grüppchen ausgeben:
>
> Monat 03.2006: go.......
> Monat 04.2006: go.......
>
> etc. Als Wert dient mir der timestamp, den jeder Eintrag hat. Ich
> schaffe es aber nicht, automatisch diese Monate/Jahre-Gruppen zu
> generieren. Was ich zur Zeit mache: Händisch den Monat 03/2006 anzulegen
> und nur timestamps, die auch da reinpassen, zu selectieren und auszugeben.
>
> Geht das auch einfacher, professioneller, automatisiert?
> Ich möchte, dass mein PHP-Skript automatisch nach Monat/Jahr
> gruppiert ausgibt.
>
> Wie immer: Danke Euch,
> s'Peterle

Gruß. Claus

--
,~°O O
O ,´ / |/|\
/ |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
/__| `~...............................................~´ /___|/ /

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 11:55:37 von Peter Wittenberger

Andreas Kretschmer schrieb:
> begin Peter Wittenberger schrieb:
>> Hallo Andreas,
>>
>> genau. Group by mache ich ja jetzt schon. Allerdings "kreise" ich die
>> timestamps händisch ein. Bereich A = x bis y, Bereich(Monat) B = y bis z
>> usw. Darum auch mein Post: Gibt es eine Funktion, mit der ich das
>> händische weglassen und den timestamp zielgerecht handeln kann.
>
> *LIES* *DAS* *HANDBUCH*. _Jetzt_!
>
> Ich lese es nicht für Dich, um das MySQL-Gegenstück für
> to_char(datum, 'yyyy-mm') (PostgreSQL) zu suchen.
>
>
> end
> Andreas


Hallo Andreas,

habe nun über das Handbuch eine Lösung gefunden:

SELECT COUNT(*) as num,EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(datum)
) as jahr_monat FROM muster_daten GROUP BY jahr_monat desc

Klappt auch wunderbar auf meiner Linuxumgebung. Portiere ich aber das
Ganze auf meinen Win-Laptop (den ich leider zeitgleich benötige) haut
die UNIXTIME natürlich nicht hin. Fehler auf meinem WAMP. LAMP: Passt.
WAMP - Fehler. Reicht hier eine kleine Korrektur oder ist der Ansatz
komplett daneben?

Gruss,
Peter

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 12:01:50 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 12:09:31 von Peter Wittenberger

Andreas Kretschmer schrieb:
> begin Peter Wittenberger schrieb:
>> Klappt auch wunderbar auf meiner Linuxumgebung. Portiere ich aber das
>> Ganze auf meinen Win-Laptop (den ich leider zeitgleich benötige) haut
>> die UNIXTIME natürlich nicht hin. Fehler auf meinem WAMP. LAMP: Passt.
>> WAMP - Fehler. Reicht hier eine kleine Korrektur oder ist der Ansatz
>> komplett daneben?
>
> Ja, klar, tausche halt einfach UNIXTIME gegen WINDOWSTIME aus.
>
>
> *SCNR*
>
>
> end
> Andreas

Andreas, super - danke klappt **SSG**

Gruss,
Peter

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 15:32:59 von Axel Schwenke

Peter Wittenberger wrote:
>
> habe nun über das Handbuch eine Lösung gefunden:
>
> SELECT COUNT(*) as num,EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(datum)
> ) as jahr_monat FROM muster_daten GROUP BY jahr_monat desc
>
> Klappt auch wunderbar auf meiner Linuxumgebung. Portiere ich aber das
> Ganze auf meinen Win-Laptop (den ich leider zeitgleich benötige) haut
> die UNIXTIME natürlich nicht hin.

Dann mach es halt ohne FROM_UNIXTIME(). Wieso hast du *überhaupt* einen
Timestamp im UNIX-Format in einer SQL-Tabelle? MySQL hat mit DATETIME
bzw. TIMESTAMP passende, opaque Spaltentypen.


XL

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 10.11.2006 16:03:09 von Peter Wittenberger

Axel Schwenke schrieb:
> Dann mach es halt ohne FROM_UNIXTIME(). Wieso hast du *überhaupt* einen
> Timestamp im UNIX-Format in einer SQL-Tabelle? MySQL hat mit DATETIME
> bzw. TIMESTAMP passende, opaque Spaltentypen.
>
>
> XL

Hallo Axel,

hast ja recht. Aber es ist ne wohl ne ziemlich alte Table von einem
Bekannten. Er wollte daraus jetzt Stats generieren lassen. Habs jetzt
mit PHP gelöst. Wenn ich selbst heute eine Table anlege, die einen
TIMESTAMP benötigt, würde ich natürlich den Typ "TIMESTAMP" verwenden.

LG,
Peter

Re: timestamp: Nach Monaten/Wochen gruppiert ausgeben

am 16.11.2006 07:24:52 von Johannes Erchen

Hallo,

ein "GROUP BY MONTH(time), YEAR(time)" sollte ausreichen!

fass du einen UNIX-Timestamp gespeichert hast , musst du vorher noch
FROM_UNIXTIME(time) machen...


"Claus Reibenstein" schrieb im Newsbeitrag
news:4rj0epFr8igdU2@mid.individual.net...
>> Bin gerade ein bischen am Verzweifeln. Habe eine MySQL-Tabelle mit ca.
>> 400 Datensätzen. Ich möchte diese nun automatisch in Grüppchen ausgeben:
>>
>> Monat 03.2006: go.......
>> Monat 04.2006: go.......
>>
>> etc. Als Wert dient mir der timestamp, den jeder Eintrag hat. Ich
>> schaffe es aber nicht, automatisch diese Monate/Jahre-Gruppen zu
>> generieren. Was ich zur Zeit mache: Händisch den Monat 03/2006 anzulegen
>> und nur timestamps, die auch da reinpassen, zu selectieren und
>> auszugeben.
>>
>> Geht das auch einfacher, professioneller, automatisiert?
>> Ich möchte, dass mein PHP-Skript automatisch nach Monat/Jahr
>> gruppiert ausgibt.
>>
>> Wie immer: Danke Euch,
>> s'Peterle
>
> Gruß. Claus
>
> --
> ,~°O O
> O ,´ / |/|\
> / |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
> /__| `~...............................................~´ /___|/ /