Как подсчитать количество записей в день?

У меня есть таблица в со следующей структурой:

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

Я хотел бы знать, как я могу подсчитать количество записей в день, за последние 7 дней в SQL, а затем вернуть это как целое число.

В настоящее время я написал следующий SQL-запрос:

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

RETURN

Однако это возвращает только все записи за последние 7 дней. Как я могу подсчитать записи в день за последние 7 дней?

Ответы

Ответ 1

select DateAdded, count(CustID)
from Responses
WHERE DateAdded >=dateadd(day,datediff(day,0,GetDate())- 7,0)
GROUP BY DateAdded

Ответ 2

select DateAdded, count(CustID)
from tbl
group by DateAdded

около 7-дневного интервала, который зависит от БД

Ответ 3

SELECT DateAdded, COUNT(1) AS NUMBERADDBYDAY
FROM Responses
WHERE DateAdded >= dateadd(day,datediff(day,0,GetDate())- 7,0)
GROUP BY DateAdded

Ответ 4

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

RETURN

Это даст вам количество записей для каждого датированного значения. Не делайте ошибку, добавляя больше столбцов в select, ожидая получить только один счет в день. Предложение group by даст вам строку для каждого уникального экземпляра перечисленных столбцов.

Ответ 5

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

Ответ 6

вы также можете попробовать следующее:

SELECT DISTINCT (DATE (dateadded)) AS unique_date, COUNT (*) AS amount FROM table GROUP BY unique_date ORDER BY unique_date ASC