Гость
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / выборка из таблицы минимальных и максимальных значений / 3 сообщений из 3, страница 1 из 1
15.03.2016, 13:00
    #39192201
Сергей_00001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы минимальных и максимальных значений
всем доброго времени суток! я не специализируюсь на sql, но поступила задача адаптировать скрипт под новые требования заказчика, буду очень признателен если поможете грамотно составить запрос новичку, есть некая таблица table_id:

id date_start date_end parametr100 01.01.2013 01.02.2013 a1100 01.02.2013 04.05.2014 b1100 04.05.2014 07.07.2014 c1200 06.06.2014 07.07.2014a2200 07.07.2014 09.09.2016b2

т.е. есть время существования некого значения id в зависимости от изменения значений в столбце parametr и мне нужно получить выборку по начальной и конечной дате для каждого id, т.е. получить результирующую таблицу вида:

id date_start_min date_end_max100 01.01.2013 07.07.2014200 06.06.2014 09.09.2016

сделать это можно используя групповые функции:

select id, min(date_start), max(nvl(date_end, date_end('01012099', 'ddmmyyyy')))
from table_id
group by id

но у меня есть огромный кусок кода в который нужно вставить данное условие, без использования групповых функций, как это можно сделать не используя функции min и max?
...
Рейтинг: 0 / 0
15.03.2016, 14:01
    #39192276
mRdUKE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы минимальных и максимальных значений
Подфорумом промазал.
Сергей_00001но у меня есть огромный кусок кода в который нужно вставить данное условие, без использования групповых функций, как это можно сделать не используя функции min и max?Можно создать отдельно пару функций, возвращающие min/max по id
Код: sql
1.
2.
3.
4.
select distinct id
                ,(select min(date_start) from table_id where id=a.id) date_start_min
                ,(select max(date_end) from table_id where id=a.id) date_end_max
from table_id a

...
Рейтинг: 0 / 0
22.03.2016, 10:17
    #39197709
Duddha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы минимальных и максимальных значений
mRdUKE , Сергей_00001 ,

Почему бы не воспользоваться аналитическими функциями?

Код: sql
1.
2.
3.
4.
SELECT DISTINCT id
               ,MIN(date_start) over(PARTITION BY id) date_start_min
               ,MAX(date_end) over(PARTITION BY id) date_end_max
  FROM table_id



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


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