Abfrage - Problem
gondor
- datenbank
0 wahsaga0 gondor0 Vinzenz Mai0 dedlfix
0 Vinzenz Mai0 gondor
0 Vinzenz Mai
Hallo!
Ich möchte eine Abfrage auf eine Tabelle setzen:
SELECT s.datetime
FROM session s, user u
WHERE s.rf = u.id
GROUP BY s.datetime
Mein Feld datetime ist vom Typ DATETIME (2006-11-25 11:11:11)
Möchte aber 'nur' nach Datum gruppieren 2006-11-25
Wie kann ich das lösen?
Danke für Hilfe,
gondor(..)
hi,
Mein Feld datetime ist vom Typ DATETIME (2006-11-25 11:11:11)
Möchte aber 'nur' nach Datum gruppieren 2006-11-25
Dann wandle deinen DATETIME-Wert in ein entsprechendes Format um.
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html
gruß,
wahsaga
hi wahsaga,
kannst du mich der lösung noch ein wenig näher bringen?
muss ich nur die group by-anweisung anpassen?
mit welchem funktionsaufruf sag ich, das nur das datum gemeint ist?
gondor(..)
Hallo
muss ich nur die group by-anweisung anpassen?
Nein verwende ein Alias für die entsprechende Spalte.
mit welchem funktionsaufruf sag ich, das nur das datum gemeint ist?
Ist das so schwer, in der von wahsaga verlinkten Seite nach dem von wahsaga angeführten Stichwort "format" zu suchen? Benutze die in Deinen Browser eingebaute Suchfunktion, füttere sie mit dem Wörtchen "format" ...
Freundliche Grüße
Vinzenz
echo $begrüßung;
mit welchem funktionsaufruf sag ich, das nur das datum gemeint ist?
Ist das so schwer, in der von wahsaga verlinkten Seite nach dem von wahsaga angeführten Stichwort "format" zu suchen? Benutze die in Deinen Browser eingebaute Suchfunktion, füttere sie mit dem Wörtchen "format" ...
"Format" finde ich hier weniger angebracht, "Typ" schon eher. Durch Formatierung erhält man einen String. Die Funktion DATE() hingegen gibt einen Wert vom Typ DATE zurück.
echo "$verabschiedung $name";
Hallo dedlfix,
"Format" finde ich hier weniger angebracht, "Typ" schon eher. Durch Formatierung erhält man einen String. Die Funktion DATE() hingegen gibt einen Wert vom Typ DATE zurück.
tja meine Scheuklappen :-) Ich hatte völlig übersehen, dass der OP das Datum in einem vernünftigen Format haben wollte. Dein Vorschlag ist sowohl besser als auch einfacher.
Freundliche Grüße
Vinzenz
Hi,
habe das nun so gelöst:
SELECT substring(s.datetime, 1, 10 ) AS myDate
FROM session s, user u
WHERE s.rf = u.id
GROUP BY myDate
Funktioniert super!
Laut den Kommentaren soll die Formatierung langsam sein
I suppose this solution to be quite slow (date formatting).
Danke für Eure Antworten,
gondor(..)
Ach gondor,
SELECT substring(s.datetime, 1, 10 ) AS myDate
FROM session s, user u
WHERE s.rf = u.id
GROUP BY myDate
SELECT
DATE(datetime) AS myDate -- [link:http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#id2807156@title=DATE()] wie von dedlfix vorgeschlagen
FROM session s
INNER JOIN user u -- [link:http://aktuell.de.selfhtml.org/artikel/datenbanken/joins/#inner_join@title=explizite Join-Syntax]
ON s.rf = u.id
GROUP BY myDate
wäre doch soviel schöner :-)
Freundliche Grüße
Vinzenz
Hallo,
die Antwort auf Deine Frage hast Du ja bereits.
Ich empfehle Dir die Lektüre der Datenbankartikel in SELFHTML aktuell, insbesondere Rouven Thimms Einführung Joins.
SELECT s.datetime
FROM session s, user u
WHERE s.rf = u.id
GROUP BY s.datetime
Mein Feld datetime ist vom Typ DATETIME (2006-11-25 11:11:11)
auch wenn es ein erlaubter Bezeichner ist, so halte ich Deine Spaltenbezeichnung für unglücklich.
Freundliche Grüße
Vinzenz