powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Аналитические функции
5 сообщений из 5, страница 1 из 1
Аналитические функции
    #40028247
Martini2344
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как сделать, нужно использовать аналитические функции
есть таблица tab1 (start (дата), column1, column2)

нужно вывести:
1) значение column2 на начало месяца (start)
2) значение column2 на конец месяца (start)
3) последнее значение column2 по дате значения, когда column1 = 1.
...
Рейтинг: 0 / 0
Аналитические функции
    #40028458
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И для чего здесь аналитические функции?
...
Рейтинг: 0 / 0
Аналитические функции
    #40028639
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Вася
И для чего здесь аналитические функции?


надо и усе
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
SQL> ed
Wrote file afiedt.buf

  1  with t(d,v1,v2) as(
  2  select date '2019-12-01',1,100 from dual union all
  3  select date '2020-11-01',1,200 from dual union all
  4  select date '2020-11-02',1,300 from dual union all
  5  select date '2020-11-15',0,400 from dual union all
  6  select date '2020-12-01',0,500 from dual union all
  7  select date '2020-12-05',0,600 from dual)
  8  select t.*
  9  ,FIRST_VALUE(v2) OVER (PARTITION BY to_char(d,'yyyymm') ORDER BY d  ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS first
 10  ,LAST_VALUE(v2) OVER (PARTITION BY to_char(d,'yyyymm') ORDER BY d  ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS last
 11  ,LAST_VALUE(decode(v1,1,v2) IGNORE NULLS) OVER (PARTITION BY to_char(d,'yyyymm') ORDER BY d  ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS last1
 12   from t
 13* order by 1
SQL> /

D                  V1         V2      FIRST       LAST      LAST1
---------- ---------- ---------- ---------- ---------- ----------
01.12.2019          1        100        100        100        100
01.11.2020          1        200        200        400        300
02.11.2020          1        300        200        400        300
15.11.2020          0        400        200        400        300
01.12.2020          0        500        500        600
05.12.2020          0        600        500        600

6 rows selected.



.....
stax
...
Рейтинг: 0 / 0
Аналитические функции
    #40028954
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax
надо и усе

Ты придумал свою постановку задачи, а у ТС может быть вовсе другая.
Да и похоже, что ему не очень-то и надо, молчит ведь.

Что такое "начало месяца" или "конец месяца", не известно.
Что такое "дата значения"?
...
Рейтинг: 0 / 0
Аналитические функции
    #40028956
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Вася

Что такое "начало месяца" или "конец месяца", не известно.
Что такое "дата значения"?


Вот на при мерах выясним что к чему.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Аналитические функции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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