Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
Помогите, пожалуйста. Задача в том, что нужно получить 100 последних (c макс. lid) записей из таблицы links с неповторяющимся lid_group. Я решаю это так: select * from links where lid in (select max(lid) from links where closed=0 group by lid_group) order by lid desc limit 100 Можно ли как-то переписать запрос, избавиться от in (select..) или оптимизировать иначе, ведь по идее нет необходимости выбирать все макс. lid в каждой группе, если нужны только 100. А как это сделать, не соображу. :-/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 14:26 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
webonataПомогите, пожалуйста. Задача в том, что нужно получить 100 последних (c макс. lid) записей из таблицы links с неповторяющимся lid_group. Я решаю это так: select * from links where lid in (select max(lid) from links where closed=0 group by lid_group) order by lid desc limit 100 Можно ли как-то переписать запрос, избавиться от in (select..) или оптимизировать иначе, ведь по идее нет необходимости выбирать все макс. lid в каждой группе, если нужны только 100. А как это сделать, не соображу. :-/ Может: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 16:08 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
[quot Andrey DaeronМожет: Код: plaintext 1. 2. Эх, если так, то получится, что сначала выберутся 100 записей, разобьются на группы, и внутри каждой выберется макс. lid. А мне же надо чтоб результатом запроса было 100 записей - каждая с макс. lid в свой группе :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 16:44 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
webonata Andrey DaeronМожет: Код: plaintext 1. 2. Эх, если так, то получится, что сначала выберутся 100 записей, разобьются на группы, и внутри каждой выберется макс. lid. А мне же надо чтоб результатом запроса было 100 записей - каждая с макс. lid в свой группе :( Да нет.... Вначале будет group by работать, а потом уже order by по max(id) и лимит на 100 max(id). Т.е. сначала найдет максимальное в каждой группе, отсортирует по этим максимальным значениям, и возьмет только 100 максимальных значений. Проверьте! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 17:00 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
webonata[quot Andrey DaeronМожет: Код: plaintext 1. 2. Эх, если так, то получится, что сначала выберутся 100 записей, разобьются на группы, и внутри каждой выберется макс. lid. А мне же надо чтоб результатом запроса было 100 записей - каждая с макс. lid в свой группе :([/quot] А если выполнить? Если бы было по Вашему, то кол-во записей было бы в результирующей выборке меньше 100. А если его выполнить то получится ровно 100 Более того. Пишем: Код: plaintext 1. 2. 3. 4. 5. 6. У меня - эта выборка пустая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 17:07 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
Да, вы правы, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 17:34 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
webonataПомогите, пожалуйста. Задача в том, что нужно получить 100 последних (c макс. lid) записей из таблицы links с неповторяющимся lid_group. Я решаю это так: select * from links where lid in (select max(lid) from links where closed=0 group by lid_group) order by lid desc limit 100 Можно ли как-то переписать запрос, избавиться от in (select..) или оптимизировать иначе, ведь по идее нет необходимости выбирать все макс. lid в каждой группе, если нужны только 100. А как это сделать, не соображу. :-/ Правда мой вариант все равно приводит к seq_scan :( и планы не то что похожи, но отличаются не сильно, основное время таки seq_scan занимает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 17:39 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
Помогите мне решить эту же задачу, только для Access ? а то у меня запрос Код: plaintext выдает только первые 5 записей, а не последние :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 12:49 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=291&tid=2005227]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 404ms |

| 0 / 0 |
