Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
10.06.2004, 12:54
|
|||
---|---|---|---|
Помогите создать запрос |
|||
#18+
Есть таблицы с данными: 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=2007820]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 170ms |
0 / 0 |