2015-11-25 1 views
-1

У меня есть таблица с 5 столбцов:SQL - значение Sum когда дата является частью диапазона

Account | Service | Value | Start_Date | End_Date 

Я хочу, чтобы вытащить значение конкретной даты для всех услуг по счету, но дата может быть часть диапазона, а не Start_Date.

Например: если Start_Date на ServiceA является 12/1/2015 и End_Date является 12/31/2015 со значением 25 и Start_Date на ServiceB является 11/15/2015 и End_Date является 12/15/2015 со значением 30.

Я ищу, чтобы найти сумму (55) для ServiceA и ServiceB 12/3/2015.

+0

Поскольку многие продукты далеки от ANSI SQL, когда дело доходит до даты/времени, пожалуйста, укажите используемые dbms. – jarlh

ответ

0

Просто SUM значения для всех строк с 12/3/2015 между датой_начал и датой_окончание:

select sum(value) 
from tablename 
where '12/3/2015' between Start_Date and End_Date 

Дате буквальной, возможно, потребуется скорректировать, в зависимости от используемой СУБД (не DBMS тега в вопросе .)

+0

между не рекомендуется для значений даты в SQL. Попробуйте использовать> =,>, <= и/или =. – dpimente

+0

@dpimente, что может быть правдой для некоторых продуктов dbms, но в вопросе не указано ни одного dbms. – jarlh

Смежные вопросы