gondor: Abfrage - Problem

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(..)

  1. 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

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. 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(..)

      1. 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

        1. 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";

          1. 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

            1. 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(..)

              1. 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

  2. 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