PHP /SQL > Liste und Datum anzeigen

S

Sato

Guest
Guten Morgen

Ich mache ein SQL Abfrage die mir folgendes auflistet:

Datum | Zeit | Thema

19.05.07 | 01:21 | Thema 7
19.05.07 | 01:18 | Thema 6
19.05.07 | 00:48 | Thema 5
19.05.07 | 00:22 | Thema 4
19.05.07 | 00:12 | Thema 3
18.05.07 | 23:52 | Thema 2
18.05.07 | 23:34 | Thema 1

Ich möchte jetzt aber ein Datum nur 1 mal angezeigt haben.

19.05.07 | 01:21 | Thema 7
-------- | 01:18 | Thema 6
-------- | 00:48 | Thema 5
-------- | 00:22 | Thema 4
-------- | 00:12 | Thema 3
18.05.07 | 23:52 | Thema 2
-------- | 23:34 | Thema 1

Wie bringe ich so etwas hin?
 
QUOTE (Sato @ Sa 19.05.2007, 09:59) 19.05.07 | 01:21 | Thema 7
-------- | 01:18 | Thema 6
-------- | 00:48 | Thema 5
-------- | 00:22 | Thema 4
-------- | 00:12 | Thema 3
18.05.07 | 23:52 | Thema 2
-------- | 23:34 | Thema 1

In dieser Form musst Du das über die Programmiersprache regeln.
Dies kannst Du erreichen, indem Du eine Variable anlegst in der Du das letzte Datum aus dem vorherigen Schleifendurchgang speicherst und es mit dem aktuellen Datum des darauffolgenden Durchgangs zu vergleichen.
 
jenachdem was du für eine tablle hast und vor allem jenachdem wie du sortierst, kannst du das evtl. auch in SQL lösen.

CODE
tabelle (
id serial,
zeit time,
datum date,
title text
)



nur mal angenommen du würdest jetzt nach Zeit sortieren könnte die Abfrage, natürlich völlig ungetestet, so aussehen:


CODE
select
id,
zeit,
CASE WHEN maxZeit = zeit then datum else '-------' end as datum,
title
FROM
tabelle
LEFT JOIN (SELECT MAX(zeit) as maxZeit, datum FROM tabelle GROUP BY datum) as x on x.datum = tabelle.datum
ORDER BY zeit DESC;



die Variante von Sascha ist aber sicher sinnvoller.
 
Zurück
Oben