powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Цикл
5 сообщений из 5, страница 1 из 1
Цикл
    #39965067
Caxa_ASS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Есть таблица заказов Order, в которой есть колонка Datatime (начинается с 2017-01-01 00:00:00.000 и по сегодняшний день).
Также, есть колонка количества заказов (QuantityOrder), в которую каждый день записываются заказы от клиентов.

Допустим, чтобы узнать какое количество заказов было сделано всеми клиентами в один определенный день, пишу такой запрос:

Код: sql
1.
2.
select sum(QuantityOrder) from Order
where Datatime >= '20170101' and Datatime < '20170102' 



Как правильно создать запрос, чтобы циклически пройтись с подсчетом суммы заказов по каждому дню, до сегодня?

Буду благодарен за помощь.
...
Рейтинг: 0 / 0
Цикл
    #39965068
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
select r.dt, sum(QuantityOrder) from Order
cross apply ( select dt = cast (Datatime as date) ) r
where Datatime >= '20170101' --and Datatime < '20170102' 
group by r.dt
order by r.dt
...
Рейтинг: 0 / 0
Цикл
    #39965070
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Caxa_ASS
Добрый день.

Есть таблица заказов Order, в которой есть колонка Datatime (начинается с 2017-01-01 00:00:00.000 и по сегодняшний день).
Также, есть колонка количества заказов (QuantityOrder), в которую каждый день записываются заказы от клиентов.

Допустим, чтобы узнать какое количество заказов было сделано всеми клиентами в один определенный день, пишу такой запрос:

Код: sql
1.
2.
select sum(QuantityOrder) from Order
where Datatime >= '20170101' and Datatime < '20170102' 




Как правильно создать запрос, чтобы циклически пройтись с подсчетом суммы заказов по каждому дню, до сегодня?

Буду благодарен за помощь.


если достаточно только тех дней, где были заказы, то group by cast(Datatime as date) + фильтры по датам (если нужен выделенный диапазон дней)
если нужны все дни, даже те, где заказов нет, то нужно все это еще через left join к таблице с календарем "приклеить"
...
Рейтинг: 0 / 0
Цикл
    #39965076
Caxa_ASS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,
Спасибо большое, все работает.
...
Рейтинг: 0 / 0
Цикл
    #39965077
Caxa_ASS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex,
Спасибо, по определенному диапазону дней, так же работает.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Цикл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]