web-dev-qa-db-fra.com

Comment compter le nombre d'enregistrements par jour?

J'ai une table dans un avec la structure suivante:

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

J'aimerais savoir comment je peux compter le nombre d'enregistrements par jour pour les 7 derniers jours en SQL, puis le renvoyer sous forme d'entier.

Actuellement, la requête SQL suivante est écrite:

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

RETURN

Toutefois, cela ne renvoie que toutes les entrées des 7 derniers jours. Comment puis-je compter les enregistrements par jour pour les 7 derniers jours?

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

environ 7 jours d'intervalle, il est question question DB

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

Cela vous donnera un nombre d'enregistrements pour chaque valeur dateadded. Ne commettez pas l'erreur d'ajouter plus de colonnes à la sélection, en espérant obtenir un seul compte par jour. La clause group by vous donnera une ligne pour chaque instance unique des colonnes répertoriées. 

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

vous pouvez aussi essayer ceci:

SELECT DISTINCT (DATE (date)) AS unique_date, COUNT (*) AS montant FROM tableGROUP BY unique_date ORDER BY unique_date ASC

0
Shezan Kazi