powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите создать запрос
2 сообщений из 2, страница 1 из 1
Помогите создать запрос
    #32556052
Hordi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблицы с данными:

replica | type | key
--------- +------+-----
1 | i | 1
2 | u | 1
3 | d | 1
4 | i | 2
5 | u | 2
6 | u | 2
7 | u | 2
8 | i | 1
9 | u | 1
10 | u | 1
11 | u | 1
12 | u | 2

Нужно отобрать последние(начиная с конца) тройки(комбинации с type d или i или u) с разными типами для каждого уникального key.

Я использую такой запрос:

"select * from (select max(replica),type,key from t_bar_repl group by type,key) as foo order by 3,1"

Проблема в том, что в этом случае просмативается вся таблица, когда достаточно прервать поиск для конкретного ключа если группа из трех разных type для данного ключа уже найдена(просмотр ведем с конца таблицы, т.е. начиная с максимального поля max).

Для наглядности нарисую конечные значения:

max | type | key
----- +------+-----
3 | d | 1
8 | i | 1
11 | u | 1
4 | i | 2
12 | u | 2
...
Рейтинг: 0 / 0
Помогите создать запрос
    #32556090
Hordi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос снят. Лоханулся - в любом случае нужно просмативать все записи.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите создать запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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