powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли еще оптимизировать запрос (group by)
4 сообщений из 4, страница 1 из 1
Можно ли еще оптимизировать запрос (group by)
    #38959969
Konstantin-78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется таблица с 10 полями (среди которых id - уникальный идентификатор, и поле Field1 в котором значения повторяются).

Нужно сделать выборку (со всеми полями в каждой записи), в которой Field1 будет уникальным (условие выбора уникального значения Field1 – не важно).

Я придумал:
Код: sql
1.
2.
3.
4.
5.
6.
7.
select * 
from MAIN_TABLE 
where ID in (
    select min(id) 
    from MAIN_TABLE 
    group by «Field1») %s  
order by DATE_END_VIEW



где %s – дополнительные параметры выбора (в Delphi – строка с форматированием)

Можно ли запрос написать более кратко?
...
Рейтинг: 0 / 0
Можно ли еще оптимизировать запрос (group by)
    #38960327
stelvic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще так:
Код: plsql
1.
2.
3.
4.
5.
6.
select
    t.*
from
    main_table t left join main_table t1 on t.id=t1.id and t1.field1<t.field1
where
    t1.field1 is null
...
Рейтинг: 0 / 0
Можно ли еще оптимизировать запрос (group by)
    #38960330
stelvic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то фигню написал. Так надо:
Код: plsql
1.
2.
3.
4.
5.
6.
select
    t.*
from
    main_table t left join main_table t1 on t.field1=t1.field1 and t1.id<t.id
where
    t1.id is null
...
Рейтинг: 0 / 0
Можно ли еще оптимизировать запрос (group by)
    #38960391
Konstantin-78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stelvic,

Спасибо за второй вариант,
думал время выполнения будет отличаться, но - ошибся
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли еще оптимизировать запрос (group by)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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