Datum aus datetime herausholen

Dieses Thema im Forum "Datenbanksysteme für das Web" wurde erstellt von mwhiegl, 17.09.2006.

  1. mwhiegl

    mwhiegl Thread Starter MacUser Mitglied

    Beiträge:
    180
    Zustimmungen:
    1
    MacUser seit:
    20.05.2006
    Ich habe ein Wordpress-Blog und möchte aus der datenbank herausholen, an wievielen Tagen ich etwas geschrieben habe.

    Leider ist die datumsangabe im datetime-Format (also z.B. 2006-08-25 08:45:04).

    So hol ich im Moment heraus, wie viele Posts ich insgesam veröffentlicht habe:
    Code:
    SELECT COUNT(DISTINCT post_date) FROM $wpdb->posts WHERE post_status = 'publish'
    Kann ich in der Abfrage das post_date umwandeln, und wirklich nur das Datum herausholen? Oder muss ich das irgendwie über php lösen?
     
  2. Manjo

    Manjo MacUser Mitglied

    Beiträge:
    903
    Zustimmungen:
    22
    MacUser seit:
    25.07.2005
    DISTINCT wird Dir in diesem Fall immer die Gesamtzahl liefern. Somit kannst Du es auch weglassen, da sich die Uhrzeit bei jedem Eintrag unterscheidet. Ich würde es mit einer temporären Tabelle versuchen.
    Code:
    CREATE TEMPORARY TABLE tmptab1 (SELECT DATE_FORMAT(post_date,'%d-%m-%Y') FROM $wpdb->posts WHERE post_status = 'publish');
    SELECT COUNT(DISTINCT post_date) FROM tmptab1;
    ungetestet!
     
  3. mwhiegl

    mwhiegl Thread Starter MacUser Mitglied

    Beiträge:
    180
    Zustimmungen:
    1
    MacUser seit:
    20.05.2006
    Hallo Manjo,
    vielen Dank für den Vorschlag. Ich hab ihn ausprobiert und leider nicht zum funktionieren gebracht, auch wenn ich mir sicher bin, dass es auch eine richtige Richtung darstellt.

    Nach ewiger Recherche in allen möglichen Foren und schließlich nochmals im MySQL Manual hab ich jetzt die Lösung gefunden:
    Code:
    SELECT COUNT(DISTINCT DATE(post_date)) FROM $wpdb->posts WHERE post_status = 'publish';
    Das kleine DATE() hat es ausgemacht...

    http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html
     
    Zuletzt bearbeitet: 17.09.2006
Die Seite wird geladen...

Diese Seite empfehlen