Тенденция SQL со временем - PullRequest
0 голосов
/ 18 января 2011

У меня есть таблица с двумя столбцами, датой и счетом. Я хочу найти что-то вроде:

  • Сумма на 7 дней назад
  • Сумма по состоянию на 6 дней назад
  • ...
  • Сумма на сегодня

Отдельную вещь можно найти с помощью

select sum(score) from my_table
where date <= DateAdd("d", -1, getdate) 

Но я бы не хотел каждый раз запускать новый запрос.

(я использую django, но решения на чистом SQL тоже хороши.)

1 Ответ

0 голосов
/ 18 января 2011

Используйте операторы case для суммирования каждого значения, которое вас волнует.

SELECT 
(CASE WHEN date <= DateAdd("d", -1, getdate) THEN score ELSE 0 END) as sum1,
(CASE WHEN date <= DateAdd("d", -2, getdate) THEN score ELSE 0 END) as sum2, etc.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...