Я использую SQL Server 2008.
Я хочу написать запрос, который дает мне общую активность в течение определенного количества дней. В частности, я хочу подсчитать общее количество голосов в день за последние семь дней.
Мой стол выглядит так:
VoteID --- VoteDate -------------- Vote --- BikeID
1 2012-01-01 08:24:25 1 1234
2 2012-01-01 08:24:25 0 5678
3 2012-01-02 08:24:25 1 1289
4 2012-01-03 08:24:25 0 1234
5 2012-01-04 08:24:25 1 5645
6 2012-01-05 08:24:25 0 1213
7 2012-01-06 08:24:25 1 1234
8 2012-01-07 08:24:25 0 1125
Мне нужно, чтобы мои результаты выглядели так
VoteDate ---- Total
2012-01-01 5
2012-01-02 6
2012-01-03 7
2012-01-04 1
2012-01-05 3
Я думаю, что я должен сделать что-то вроде этого:
SELECT SUM(CASE WHEN Vote = 1 THEN 1 ELSE 0 END) AS Total
FROM Votes
GROUP BY VoteDate
Этот запрос не работает, потому что он подсчитывает только голоса, которые произошли (почти точно) одновременно. Конечно, я хочу посмотреть только на определенный день. Как мне это сделать?