|
Помогите создать запрос
|
|||
---|---|---|---|
#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 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2004, 12:54 |
|
|
start [/forum/topic.php?fid=53&fpage=356&tid=2007820]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 327ms |
total: | 465ms |
0 / 0 |