Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как правильно отобрать именно х первых уникальных? (first x distinct - не так срабатывает) / 5 сообщений из 5, страница 1 из 1
22.05.2015, 09:31
    #38965965
Devillio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно отобрать именно х первых уникальных? (first x distinct - не так срабатывает)
Добрый день!

first 10 distinct сначала отбирает 10 записей, затем из них отбирает уникальные по distinct.
А мне бы надо, чтобы отобрались именно 10 уникальных, сколько бы первых записей они не занимали.
Или запросом никак и только процедурой?

Спасибо!
...
Рейтинг: 0 / 0
22.05.2015, 09:33
    #38965968
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно отобрать именно х первых уникальных? (first x distinct - не так срабатывает)
FB умеет подзапросы!

Только что проверил.
...
Рейтинг: 0 / 0
22.05.2015, 10:26
    #38966021
Как правильно отобрать именно х первых уникальных? (first x distinct - не так срабатывает)
Devillio,

Код: sql
1.
2.
3.
4.
5.
select distinct 
< имена полей >
from < имя таблицы > 
where < условия, если надо > 
rows 1 to 10 ; -- здесь количество (первая десятка)
...
Рейтинг: 0 / 0
22.05.2015, 10:50
    #38966057
afgm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно отобрать именно х первых уникальных? (first x distinct - не так срабатывает)
Devilliofirst 10 distinct сначала отбирает 10 записей, затем из них отбирает уникальные по distinct.
разве?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
with a(id) as(
    select 1 from rdb$database
    union all
    select 1 from rdb$database
    union all
    select 1 from rdb$database
    union all
    select 1 from rdb$database
    union all
    select 2 from rdb$database
    union all
    select 3 from rdb$database
    union all
    select 4 from rdb$database
)
select first 3 distinct * from a
order by id

--------------------
ID
1
2
3
...
Рейтинг: 0 / 0
22.05.2015, 12:02
    #38966187
Секретное имя пользователя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно отобрать именно х первых уникальных? (first x distinct - не так срабатывает)
DevillioДобрый день!

first 10 distinct сначала отбирает 10 записей, затем из них отбирает уникальные по distinct.
А мне бы надо, чтобы отобрались именно 10 уникальных, сколько бы первых записей они не занимали.
Или запросом никак и только процедурой?

Спасибо!Это, мягко говоря, преувеличение.
Читай, что в каком порядке выполняется, по-моему, это тут: http://www.ibase.ru/devinfo/dataaccesspaths.htm
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как правильно отобрать именно х первых уникальных? (first x distinct - не так срабатывает) / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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