Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 запрос с количеством предыдущих покупок  [new]
fantasia
Member

Откуда:
Сообщений: 12
есть таблица вида
client, good, order_id, order_date
нужно добавить столбец с количеством покупок (count(distinct order_id)) клиента за последний месяц относительно даты покупки
2 мар 15, 19:59    [17334159]     Ответить | Цитировать Сообщить модератору
 Re: запрос с количеством предыдущих покупок  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Добавляйте, тут вряд ли кто будет возражать.
2 мар 15, 20:03    [17334182]     Ответить | Цитировать Сообщить модератору
 Re: запрос с количеством предыдущих покупок  [new]
Добрый Э - Эх
Guest
добавить поле в таблицу? или в результат селекта из неё?

если второе, то смотреть в сторону COUNT(...) over(partition by ...)
2 мар 15, 20:04    [17334193]     Ответить | Цитировать Сообщить модератору
 Re: запрос с количеством предыдущих покупок  [new]
fantasia
Member

Откуда:
Сообщений: 12
Добрый Э - Эх,

в результат селекта

смотрел
ничего путного в голову не приходит, поэтому обратился за помощью

во-первых count(distinct ...) в оконной функции не работает, во-вторых чтобы ограничить именно месяцем всю таблицу, получается, нужно сджойнить с таблицей где каждому клиенту соответвуют все записи календаря. А это ну просто очень сильно снижает производительность.
может есть более простой путь?
2 мар 15, 20:13    [17334240]     Ответить | Цитировать Сообщить модератору
 Re: запрос с количеством предыдущих покупок  [new]
Добрый Э - Эх
Guest
fantasia,

может и есть, но не только лишь все могут без юзабильного репрезентативного набора тестовых данных и желаемого результата на них написать желаемый запрос.
2 мар 15, 20:16    [17334257]     Ответить | Цитировать Сообщить модератору
 Re: запрос с количеством предыдущих покупок  [new]
Добрый Э - Эх
Guest
fantasia,

но как вариант, можешь покурить в сторону [cross | outer] apply
2 мар 15, 20:19    [17334265]     Ответить | Цитировать Сообщить модератору
 Re: запрос с количеством предыдущих покупок  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32167
fantasia
нужно добавить столбец с количеством покупок (count(distinct order_id)) клиента за последний месяц относительно даты покупки
Так добавьте в список столбцов подзапрос (select count(order_id) ...)
2 мар 15, 22:44    [17334773]     Ответить | Цитировать Сообщить модератору
 Re: запрос с количеством предыдущих покупок  [new]
Glory
Member

Откуда:
Сообщений: 104751
fantasia
есть таблица вида
client, good, order_id, order_date
нужно добавить столбец с количеством покупок (count(distinct order_id)) клиента за последний месяц относительно даты покупки

select *, (select count(*) from mytable b where b.client = a.client and b.order_date between dateadd(mm, -1, a.order_date) and dateadd(dd, -1, a.order_date))
from mytable a
3 мар 15, 09:25    [17335463]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить