Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Порядок вывода записей в запросе с UNION / 8 сообщений из 8, страница 1 из 1
18.07.2019, 19:20
    #39838921
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок вывода записей в запросе с UNION
Приветствую.
Есть запрос
Код: sql
1.
2.
3.
select ...
union
select ...


Я думал, что сначала должны вывестись все записи из первого запроса select, потом все недублирующие их записи из второго запроса. Но оказалось, что записи выводятся вперемешку.
Так и должно быть в общем случае?
...
Рейтинг: 0 / 0
18.07.2019, 19:27
    #39838924
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок вывода записей в запросе с UNION
Да
...
Рейтинг: 0 / 0
18.07.2019, 19:35
    #39838932
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок вывода записей в запросе с UNION
hvlad,
спасибо.
...
Рейтинг: 0 / 0
18.07.2019, 21:15
    #39838949
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок вывода записей в запросе с UNION
s62Так и должно быть в общем случае?

А ведь есть ещё union all...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.07.2019, 11:34
    #39839106
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок вывода записей в запросе с UNION
s62> Я думал, что сначала должны вывестись все записи
s62> из первого запроса select, потом все недублирующие
s62> их записи из второго запроса.

Когда обязательно нужно по порядку, а не вперемешку - делают

select 1, ...
union all
select 2, ...
union all
select N, ...
order by 1, ...

Правда, при этом не будут отсеиваться дубли, но отсеивать их
именно union-ом всегда выглядело лично для меня странновато.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.07.2019, 11:34
    #39839108
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок вывода записей в запросе с UNION
Dimitry Sibiryakov> А ведь есть ещё union all...

Он жн ясно написал - "недублирующиеся".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.07.2019, 13:02
    #39839185
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок вывода записей в запросе с UNION
Гаджимурадов РустамКогда обязательно нужно по порядку, а не вперемешку - делают

select 1, ...
union all
select 2, ...
union all
select N, ...
order by 1, ...

Правда, при этом не будут отсеиваться дубли, но отсеивать их
именно union-ом всегда выглядело лично для меня странновато.Да, я вчера сам додумался до такого варианта.

В принципе, теоретически понятно, почему вперемешку. Union - это объединение. Как в исходных множествах нет упорядоченности, так и в их объединении. Просто что-то такое прочитал в интернете про UNION, что возникло (ошибочное) мнение об упорядоченности.
...
Рейтинг: 0 / 0
19.07.2019, 13:18
    #39839199
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок вывода записей в запросе с UNION
s62что-то такое прочитал в интернете про UNION

Единственное, что в интернете стоит читать про UNION это http://www.ibase.ru/dataaccesspaths/
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Порядок вывода записей в запросе с UNION / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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