[MSSQL] Anzahl Besucher heute anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MSSQL] Anzahl Besucher heute anzeigen

    ich würde mir gerne die datensätze zwischen 00:00:00 Uhr und 23:59:59 Uhr von heutigen Datum anzeigen:

    Code:
    SELECT COUNT(DISTINCT(ip)) FROM page_counter WHERE (timestamp >= DATE_SUB(NOW(), INTERVAL 24 HOUR))
    das gibt mir aber nur die daten der letzten 24 Stunden ... also also auch sachen von gestern .....

    Code:
    SELECT COUNT(DISTINCT(ip)) FROM page_counter WHERE DAY(timestamp) = DAY(NOW())
    geht auch nicht ... denn dann macht er alle wo der tag x ist ... also auch von den letzten monaten und den nächsten monaten .....
    the end comes faster than you think - you've already reached it!

  • #2
    "heute" ist alles, dessen Zeitstempel folgendes erfüllt:
    YEAR(timestamp) = YEAR(NOW()) &&
    MONTH(timestamp) = MONTH(NOW()) &&
    DAY(timestamp) = DAY(NOW())

    ... nicht die eleganteste Lösung, sondern die, die mir spontan einfällt.

    Kommentar


    • #3
      ... WHERE DATE_FORMAT(timestamp, '%Y-%m-%d') = CURDATE()
      ich glaube

      Kommentar


      • #4
        noch eine Idee:
        Code:
        SELECT COUNT(DISTINCT ip ) FROM page_counter WHERE ( timestamp >= DATE(NOW()) )
        es nimmt an, dass timestamp das sql-Format DATETIME oder TIMESTAMP hat
        (Das ergibt sich aus der Anfrage).

        timestamp ist ein halb-reserviertes Wort, besser was anderes als Feldnamen verwenden.


        Variante mit CURDATE()::
        Code:
        SELECT COUNT(DISTINCT ip ) FROM page_counter WHERE (timestamp >= CURDATE())
        edits: Klammern bei DISTINCT weg, Variante mit CURDATE() ergänzt. Alles ungetestet aber zuversichtlich.
        Zuletzt geändert von mai; 18.06.2006, 20:21.

        Kommentar


        • #5
          Also ich benutze oft diese Methode für Datensätze von heute zu selektieren.

          Code:
          ...WHERE (TO_DAYS(now()) - TO_DAYS(datumsfeld oder timestemp)) < 1
          kann man entsprechend anpassen < 2 für gestern und heute etc.

          Kommentar


          • #6
            also mit to_days war es sehr heiss!

            SELECT COUNT(ip) FROM page_counter WHERE
            TO_DAYS(timestamp) = TO_DAYS(NOW()) group by ip

            Zuletzt geändert von Slava; 20.06.2006, 17:56.
            Slava
            bituniverse.com

            Kommentar

            Lädt...
            X