powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Выбор значения в списке по условию. Оптимизация запроса.
2 сообщений из 2, страница 1 из 1
Выбор значения в списке по условию. Оптимизация запроса.
    #38629128
Dika!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть подневные данные статусы объектов. Надо сделать таблицу помесячных статусов. Статус выбирается тот, в котором объект был больше всего дней в месяц. Но есть исключение, если в месяц встречаются статусы (80, 90) и 10, то выбирается 10. Если встречаются статусы 30 и 50, то выбирается 50.

я составила запрос, получилось 2 вложения.
tab1 - в row_num=1 попадают наиболее часто встречающиеся за месяц статусы для каждого el_id
tab2 - переворачиваю таблицу
далее выбираю статус
Есть другой вариант запроса, который решает задачу?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select el_id, month_id, case when range1 in (80, 90) and range2=10 then 10
 when range1=30 and range2=50 then 50
 else range1
 end as status_id from (
select el_id, month_id, 
max(case when row_num=1 then status_id else -1 end) as range1, max(case when row_num=2 then status_id else -1 end) as range2  from
(select el_id, month_id, status_id, 
	row_number() over (partition by el_id, month_id order by count(1) desc) row_num from t_status_day
	WHERE MONTH_ID BETWEEN 201301 AND 201312 
	group by el_id, month_id, status_id )tab1 group by el_id, month_id) tab2



В файле таблица расчета статусов.
...
Рейтинг: 0 / 0
Выбор значения в списке по условию. Оптимизация запроса.
    #38641474
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dika!,

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


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