Агрегатная функция (сумма) в SQL на основе периодов времени - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь применить функцию суммы к столбцу, используя определенное условие где.Таблица содержит подробные данные за один год.Я хочу агрегировать, используя условия, такие как Datetime> 06/11/2018 10:10:00 и Datetime <= 06/12/2018 10: 10: 00. </p>

Ниже приведены данные:

 PL          Datetime
-595.70000   2017-12-13 10:10:00 
680.000000   2017-12-13 10:11:00
-400.00000   2017-12-13 10:12:00 
550.000000   2017-12-13 10:13:00 
-164.30000   2017-12-13 10:14:00 
-74.400000   2017-12-14 10:15:00 
74.4000000   2017-12-14 10:16:00 
365.000000   2017-12-14 10:17:00 
464.300000   2017-12-14 10:18:00 
715.700000   2017-12-14 10:19:00

Простите, если я не получил правильный формат при написании вопроса.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Как то так?

DECLARE @fromDt DATETIME = '06/11/2018 10:10:00';
DECLARE @toDt DATETIME = '06/12/2018 10:10:00';

SELECT SUM(IIF([Datetime] BETWEEN @fromDt AND @toDt, [PL], 0)) OVER() AS [Sum]
FROM [dbo].[MyTable]
WHERE ...
0 голосов
/ 11 июня 2018

Как насчет:

select sum(PL) 
  from my_table 
  where DateTime between '2018-06-11 10:10:00' and '2018-06-12 10:10:00';
...