powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сортировка выдаваемого запроса
13 сообщений из 13, страница 1 из 1
Сортировка выдаваемого запроса
    #39312555
Lilzen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте, ребят возникла тут у меня такая проблема... Пытаюсь написать запросы в запросах мне в исходном виде нужно получить таблицу которая считает количество строк в запросах и выдавала их строка за строкой. Но проблема в том что при объединении запросов параметром union разпологает запросы в хаотичном порядке. Подскажите пожалуйста как сделать так что бы сначала как в запросе и написано сделать первой стракой 1 запрос потом 2 и при добавлении ещё запросов через union они все шли по порядку сверху вниз

SELECT DISTINCT
(SELECT COUNT(*)
FROM F116
WHERE R_F10=3),
(SELECT COUNT (*)
FROM F116
WHERE R_F10=2)
FROM F116

UNION

SELECT DISTINCT
(SELECT COUNT(*)
FROM F116
WHERE R_F10=30),
(SELECT COUNT (*)
FROM F116
WHERE R_F10=20)
FROM F116;
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312557
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавить поле с нужной сортировкой, сортировать по нему.
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312559
Lilzen,

сделать секции нумерованными:
select distinct * from (
Select 1 as section_num, bla-bla-bla from ...
union
Select 2 as section_num, bla-bla-bla from ...)
order by section_num
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312573
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Советчики, а надо было лишь добавить ALL.
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312575
AnSi_Sr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT F116.R_F10 AS uvalue, COUNT(1) as ncount
  FROM F116
WHERE F116 IN (3, 2, ...)
GROUP BY F116.R_F10
ORDER BY
  CASE F116.R_F10
    WHEN 3 THEN 1 -- order by
    WHEN 2 THEN 2
    ...
    ELSE NULL
  END
NULLS LAST
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312621
Lilzen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
19691091

А где поставить?! Пример может кто нибудь кинуть?!
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312626
dimyaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicСоветчики, а надо было лишь добавить ALL.

особенно
Код: plsql
1.
select distinct
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312629
Lilzen 19691091

А где поставить?! Пример может кто нибудь кинуть?! Тут было
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312631
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
with t as ( select 10 n from dual union all
            select 5 n from dual union all
            select 15 n from dual union all
            select 25 n from dual union all
            select 3 n from dual union all
            select 7 n from dual
          )


select 1 sort, t.n from t where n <= 10

union all

select 2 sort, t.n from t where n > 10

order by sort, n



order нужен, если вам еще какая-то сортировка нужна, кроме секционной
а так достаточно union all
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312632
Lilzen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пошутлятор,

Не открывается
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312634
dmdmdmа так достаточно union allсчас он тебя спросит, почему в результате выборки появились дубликаты.
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312637
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lilzen,

Однако. Попробуйте так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT
   sum(case substr(R_F10, 1, 1) when '3' then 1 end) as sum_3,
   sum(case substr(R_F10, 1, 1) when '2' then 1 end) as sum_2
FROM F116
where R_F10 in (2,3,20,30)
group by length(R_F10)
order by length(R_F10) 
...
Рейтинг: 0 / 0
Сортировка выдаваемого запроса
    #39312638
Lilzen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное сработало
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Сортировка выдаваемого запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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