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

Откуда:
Сообщений: 14
Добрый день, уважаемые
Есть таблица, в которой содержится информация об изменении стоимости продукта (стоимость продукта, время - 1 день - одна строка), использовал lead для нахождения изменения скорости относительно предыдущей строки. Можно ли каким-либо образом сагрегировать
26 авг 15, 11:09    [18069045]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
что сагрегировать то ? не сильно понятен результат однако желаемый
26 авг 15, 11:10    [18069052]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
RUSSIANBEAR7,

В первом запросе LEAD , во втором аггрегирование. Давайте запрос с тестовыми данными в студию для дальнейших комментариев.
26 авг 15, 11:17    [18069105]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
RUSSIANBEAR7,

подзапрос или CTE
26 авг 15, 11:20    [18069118]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
RUSSIANBEAR7
Member

Откуда:
Сообщений: 14
Использовал lead для нахождения изменения стоимости продукта во времени. Duration - время, Cost_next - следующая стоимость, Cost_change - разность между двумя строками. Вывожу поля по условию Cost_change (where abs(cost_change)>2), необходимо получить суммарное время, среднюю скорость между полученными строками. То есть, если в выводе 1 и 3 строка, то длительность - 2 секунды. Можно ли это сделать, используя набор моих данных? Спасибо за внимание

К сообщению приложен файл. Размер - 39Kb
26 авг 15, 11:20    [18069122]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
RUSSIANBEAR7
Member

Откуда:
Сообщений: 14
a_voronin, случайно опубликовал недописанное. Выложил с картинкой :)
26 авг 15, 11:24    [18069146]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
RUSSIANBEAR7
Member

Откуда:
Сообщений: 14
Пример вывода, Sum(duration), Avg(cost), Max(cost). С Group by проблема

К сообщению приложен файл. Размер - 19Kb
26 авг 15, 11:40    [18069266]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
RUSSIANBEAR7,

Запрос сам где?
26 авг 15, 12:06    [18069456]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
RUSSIANBEAR7,

select
...
from
(select ... lead
from...
) as запрос_с_lead
group by
....
26 авг 15, 12:13    [18069497]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
RUSSIANBEAR7
Member

Откуда:
Сообщений: 14
a_voronin
RUSSIANBEAR7,

Запрос сам где?


Запрос из представления

Select unique_id, sum(duration), avg(cost), max(cost)
from viewcost
where abs(cost_change)>2
group by unique_id

Этот запрос возвращает сумму и средние значения по полю unique_id, но необходимо чтоб суммировались значения, которые не попадают под условия запроса. Похоже единственный способ - добавление дополнительного поля, которое будет увеличиваться по мере нахождения таких значений....
26 авг 15, 12:31    [18069646]     Ответить | Цитировать Сообщить модератору
 Re: Агрегирование по полю lead  [new]
RUSSIANBEAR7
Member

Откуда:
Сообщений: 14
StarikNavy, спасибо за вариант, попробую, но боюсь что группировать не на что
26 авг 15, 12:34    [18069686]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить