powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос, иерархия
22 сообщений из 22, страница 1 из 1
Запрос, иерархия
    #39292580
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Друзья, помогите, плиз с запросом.

Скажем есть такие данные:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
ID  DATE          PRICE
--  -----------   --------
1   01/01/2016    1.1
1   01/04/2016    1.2
1   01/08/2016    15.5

2   01/01/2016    21.1
2   01/02/2016    20.2
2   01/05/2016    200.5

3   01/02/2016    17.1
3   01/03/2016    18.6
3   01/07/2016    13.5


Требуется обнаружить резкие скачки цен по каждому из ID товаров (по причине ошибочного ввода)
Из вышеуказанных данных, например, если последняя строчка имеет цену на 50% больше предыдущей, то вывести проблемные ID'шки
Код: plaintext
1.
2.
3.
ID
--
1
2
Как я понимаю, надо отсортировать данные по ID, DATE, задать иерархию по ID и сравнить цены последних двух строчек.
Заранее спасибо.
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292584
корвалол
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edgar,

а где твой собственный вариант?
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292588
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EdgarпредыдущейRTFM LAG
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292589
serpv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292599
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
корвалола где твой собственный вариант?Два года назад он уже искал "всплески", теперь "скачки".
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292608
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Два года назад он уже искал "всплески", теперь "скачки".

Ты меня развеселил, спасибо!
...внимательный :)
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292634
валидол
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edgar,

запрос твой где, весельчак? палец о палец ударь хотя бы
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292635
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EdgarТы меня развеселил, спасибо!
...внимательный :)Признавать собственную тупость - это позитивно. Главное не делать это постоянно.
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292672
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за позитивчик :)

Итак, поптобовал, но пока не получается.
Код: plsql
1.
2.
3.
4.
5.
6.
select * from 
(
  select id, start_date, price, lag(price, 1, unit_cost) OVER (оrder by start_date) as prev_price
  from my_table
)
where abs(price /prev_price) > 1.5



Дело в том, что некоторые ID'шки почвляются только 1 раз, в исходной таблице, их надо исключить.
Нужна какая-то группировка, что-ли? Чтобы выбиралась предыдущая цена именно по этой ID'шке.
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292683
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EdgarНужна какая-то группировка, что-ли?Ты совсем немощный?
RTFM query_partition_clause
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292692
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic, Вам же не трудно, будьте добры :) Пожалуйста ....
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292696
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Вы не сочувствуете детям Германии?
- Сочувствую.
- Полтинника жалко?
- Нет, не жалко.
- Тогда почему?
- Не хочу.
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292699
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EdgarВам же не трудно, будьте добры :) Пожалуйста ....Иждивенчество приводит к отуплению.
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292703
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злые вы все :)
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292707
цитрамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EdgarЗлые вы все :)
зачем же обобщать?
о твоей ментальной гигиене заботятся...
безусловная индукция ведёт к упрощению мозговой деятельности, сиречь отупению...
я лично против чьего либо отупения, а ты?
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292708
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EdgarElic, Вам же не трудно, будьте добры :) Пожалуйста ....
вам же уже показали (целое) слово из трёх букв.
вот ещё одно, из четырёх
и даже не жопа, аlead
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292715
Бельфя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если вот так?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
select *
  from (select id
              ,start_date
              ,price
              ,lag(price) over(partition by id îrder by start_date) as prev_price
          from my_table)
 where abs(price - nvl(prev_price, price)) / nvl(prev_price, price) > 0.5
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292716
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То-то было в наше время.
Раньше всё было проще;
Младёшь ща пошла - дикая...
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292723
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бельфя,

LAG требует ORDER BY

Код: plaintext
ORA-30485: missing ORDER BY expression in the window specification
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292729
Бельфя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там ведь очевидно где ордер бай
Код: plsql
1.
2.
3.
4.
5.
6.
7.
select *
  from (select id
              ,start_date
              ,price
              ,lag(price) over(partition by id order by start_date) as prev_price
          from my_table)
 where abs(price - nvl(prev_price, price)) / nvl(prev_price, price) > 0.5
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292744
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БельфяТам ведь очевидно где ордер байБудешь знать, как разжёвывать окончательно отупевшим.
...
Рейтинг: 0 / 0
Запрос, иерархия
    #39292813
Edgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо друзья, вы все здорово помогли.

только условие я задал так:

Код: plsql
1.
GREATEST(цена,пред_цена)/LEAST(цена,пред_цена) > 1.5
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос, иерархия
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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