2009-06-17 12 views
0

Ich versuche, eine SQL-Datenbank zu filtern.Wie summiere ich Besuche mit einer SQL-Abfrage?

Jede Zeile stellt einen Benutzer, die Hauptspalte, auf die ich mich konzentriere, heißt last_visited und formatiert als ... 2009-06-17 12:15:32.

Wie viele Benutzer haben den letzten Tag/Woche/Monat besucht?

Wie in:

SELECT COUNT(*) AS USERS_TODAY 
FROM parts_users 
Where updated_at > (NOW()-7) 

Antwort

5

So ist der Spalt Text oder ein Datetime? Wenn der ehemalige:

SELECT COUNT(*) AS USERS_TODAY 
FROM parts_users 
WHERE CONVERT(datetime, updated_at, 120) > DATEADD(day, -7, GETDATE()) 

Wenn letzteres, die CONVERT weglassen.

SELECT CONVERT(datetime, LEFT(updated_at, 10), 120) AS DATE_ONLY, 
     COUNT(*) AS USERS_TODAY 
FROM parts_users 
WHERE CONVERT(datetime, updated_at, 120) > DATEADD(day, -7, GETDATE()) 
GROUP BY CONVERT(datetime, LEFT(updated_at, 10), 120) 
0

How to query multiple SUMs of the same item using SQL in iReport

SELECT 
    SUM(case when (NOW()-1) <= datetime then 1 else 0 end) as 'today', 
    SUM(case when (NOW()-7) <= datetime then 1 else 0 end) as 'thisweek', 
    COUNT(*) as 'thismonth' 
FROM 
    table 
WHERE 
    (NOW()-30) <= datetime AND datetime <= NOW() 
:

Alternativ können Sie so etwas wie dieses nützlich finden

Verwandte Themen