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

Откуда:
Сообщений: 96
Добрый день
Здесь указали как легко в 2012 можно подсчитать накопительный итог
Попробовал на своем примере
SELECT
       month([Дата оплаты]) as 'Месяц'
      ,sum([Оплачено]) as ОплаченоПомесячно
      ,sum([Оплачено])OVER(PARTITION BY month([Дата оплаты]) ORDER BY month([Дата оплаты]) RANGE UNBOUNDED PRECEDING) 
       as ОплаченоНакопительно
  FROM [1C].[dbo].[Payments]
  WHERE [Дата оплаты] between '20150101' and '20151031' 
  GROUP BY
      month([Дата оплаты])
     ,[Оплачено]
  ORDER BY month([Дата оплаты])

Но результат - какой-то бардак. Без GROUP BY, как в примере, не получается
Что делаю не так?
7 ноя 15, 23:58    [18384224]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет накопительного итога  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Ваш запрос даже не скомпилируется.
Что нужно получить? Помесячный нарастающий итог?
8 ноя 15, 01:03    [18384332]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет накопительного итога  [new]
fury_fury
Member

Откуда:
Сообщений: 96
invm
Ваш запрос даже не скомпилируется

Выполняется. но построчно разбивает все платежи

invm
Что нужно получить? Помесячный нарастающий итог?

Да
8 ноя 15, 01:08    [18384345]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет накопительного итога  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
fury_fury
Выполняется. но построчно разбивает все платежи
Не обманывайте.
Показанный вами запрос содержит синтаксическую ошибку.

Помесячный нарастающий итог:
SELECT
 month([Дата оплаты]) as 'Месяц'
 ,sum([Оплачено]) as ОплаченоПомесячно
 ,sum(sum([Оплачено])) OVER (ORDER BY month([Дата оплаты]) as ОплаченоНакопительно
FROM [1C].[dbo].[Payments]
WHERE [Дата оплаты] between '20150101' and '20151031' 
GROUP BY month([Дата оплаты])
ORDER BY month([Дата оплаты])
8 ноя 15, 01:16    [18384354]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет накопительного итога  [new]
fury_fury
Member

Откуда:
Сообщений: 96
invm, Спасибо большое, выполняется так как и нужно (скобку добавил)
Не догадался что агрегат нужно еще раз в функцию вложить

А по поводу того что синтакс. ошибка - выполняется (на скрине)
Хотя и выгружает совсем не то что нужно

Спасибо еще раз

К сообщению приложен файл. Размер - 100Kb
8 ноя 15, 17:07    [18385480]     Ответить | Цитировать Сообщить модератору
 Re: Подсчет накопительного итога  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
fury_fury
А по поводу того что синтакс. ошибка - выполняется (на скрине)
Да, верно. Мой недосмотр.
8 ноя 15, 17:35    [18385540]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить