Разница в выходе - PullRequest
0 голосов
/ 23 июня 2019

У меня есть два запроса, и вывод одинаков. Однако разница заключается только в последовательности результата. Пожалуйста, помогите мне понять это.

select distinct (count(*) over (partition by job)) as Lists
       ,job 
from emp 
order by LISTS;

1   PRESIDENT 
2   ANALYST 
3   DEVELOPER 
3   MANAGER 
4   CLERK 
4   SALESMAN

select count(*),job 
from emp 
group by job 
order by count(*);

1   PRESIDENT 
2   ANALYST 
3   DEVELOPER 
3   MANAGER 
4   SALESMAN 
4   CLERK

На первом выходе Clerk идет первым, а на втором выходе Clerk идет в конце.

1 Ответ

2 голосов
/ 24 июня 2019

Порядок строк с одинаковыми ключами не гарантируется - база данных может свободно доставлять эти строки в любом удобном для них порядке.Если вы хотите иметь последовательный порядок, вы должны включить поле JOB в ORDER BY, поэтому

...
ORDER BY 1, 2

должно сделать это в обоих случаях.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...