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

Откуда:
Сообщений: 450
Добрый день!
как получить тоже самое одним запросом?

select client, round(SUM(serv)/12, 0) from sales (nolock) 
	where servdate > dateadd(mm, -12, getdate())
	group by client

select client, SUM(serv) from sales (nolock) t
	where servdate in  (SELECT max(servdate) FROM sales t1 WHERE t.client=t1.client)
	group by client
22 окт 15, 10:16    [18310216]     Ответить | Цитировать Сообщить модератору
 Re: среднее значение за период и сумму последней продажи в одном запросе  [new]
Добрый Э - Эх
Guest
Volodya,

для получения суммы последней продажи используй трюк на основе этого...
22 окт 15, 10:50    [18310451]     Ответить | Цитировать Сообщить модератору
 Re: среднее значение за период и сумму последней продажи в одном запросе  [new]
Volodya
Member

Откуда:
Сообщений: 450
спасибо за совет.
получлось так:

select client, round(SUM(serv)/12, 0), max(cast(servdate as varchar) + '  ' + cast(serv as varchar))
         from sales (nolock) 
	where servdate > dateadd(mm, -12, getdate())
	group by client


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

в подзапросе при помощи оконных функций рассчитать сумму продаж за день по каждому клиенту (... sum(...) over(partition by <клиент>, <дата операций, без порции времени>) as <сумма дневных продаж>...).
во внешнем запросе рассчитать среднее значение и сумму продаж за последний день в разрезе клиентов.
23 окт 15, 06:08    [18314813]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить