it-swarm.com.de

Wie zählt man die Anzahl der Datensätze pro Tag?

Ich habe eine Tabelle mit der folgenden Struktur:

CustID --- DateAdded ---

 396       2012-02-09 
 396       2012-02-09 
 396       2012-02-08 
 396       2012-02-07 
 396       2012-02-07
 396       2012-02-07 
 396       2012-02-06
 396       2012-02-06

Ich würde gerne wissen, wie ich die Anzahl der Datensätze pro Tag für die letzten 7 Tage in SQL zählen und diese dann als ganze Zahl zurückgeben kann.

Zur Zeit habe ich folgende SQL-Abfrage geschrieben:

SELECT * 
  FROM Responses
 WHERE DateAdded >= dateadd(day, datediff(day, 0, GetDate()) - 7, 0)

RETURN

Dies gibt jedoch nur alle Einträge der letzten 7 Tage zurück. Wie kann ich die Aufzeichnungen pro Tag für die letzten 7 Tage zählen?

15
HGomez90
select DateAdded, count(CustID)
from Responses
WHERE DateAdded >=dateadd(day,datediff(day,0,GetDate())- 7,0)
GROUP BY DateAdded
23
Diego
select DateAdded, count(CustID)
from tbl
group by DateAdded

im Abstand von etwa 7 Tagen ist es eine Frage der Datenbank

6
triclosan
SELECT DateAdded, COUNT(1) AS NUMBERADDBYDAY
FROM Responses
WHERE DateAdded >= dateadd(day,datediff(day,0,GetDate())- 7,0)
GROUP BY DateAdded
3
Bruno Costa
SELECT count(*), dateadded FROM Responses
WHERE DateAdded >=dateadd(day,datediff(day,0,GetDate())- 7,0)
group by dateadded

RETURN

Dadurch erhalten Sie eine Anzahl von Datensätzen für jeden dateadded-Wert. Machen Sie nicht den Fehler, dem select mehr Spalten hinzuzufügen und erwarten Sie nur eine Zählung pro Tag. Die group by-Klausel gibt Ihnen eine Zeile für jede eindeutige Instanz der aufgeführten Spalten. 

0
Brian
select DateAdded, count(DateAdded) as num_records
from your_table
WHERE DateAdded >=dateadd(day,datediff(day,0,GetDate())- 7,0)
group by DateAdded
order by DateAdded
0
juergen d

Wenn Ihr Zeitstempel nicht nur das Datum, sondern auch die Uhrzeit enthält, verwenden Sie:

SELECT DATE_FORMAT('timestamp', '%Y-%m-%d') AS date, COUNT(id) AS count FROM table GROUP BY DATE_FORMAT('timestamp', '%Y-%m-%d')

0
moloe

sie könnten dies auch versuchen:

SELECT DISTINCT (DATE (dateadded)) AS unique_date, COUNT (*) AS Betrag FROM TabelleGROUP BY unique_date ORDER BY unique_date ASC

0
Shezan Kazi