Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Какая разница между двумя запросами: distinct и group by?  [new]
Какая разница
Guest
Объясните в чём разница между двумя запросами?

select departament_id
from t1
group by departament_id;

select distinct departament_id 
from t1;
5 апр 13, 14:49    [14140741]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Большая разница
Guest
Какая разница
Объясните в чём разница между двумя запросами?
В том, что группировка - группирует, а distinct выводит distinct значения
5 апр 13, 15:02    [14140827]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
Какая разница,

Используются разные алгоритмы sort unique/hash unique (distinct), sort group by/hash group by (group by).
Реализация алгоритмов может варьироваться от версии к версии.
+ 13632934
5 апр 13, 15:08    [14140858]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
stax..
Guest
Какая разница,

для group by и distinct по разному отработают аналит ф-ции

напр надо результат пронумеровать

....
stax
5 апр 13, 15:39    [14141083]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
DВА
Member

Откуда:
Сообщений: 5439
короче для вопрошающего разницы никакой ))
5 апр 13, 15:43    [14141114]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
Какая разница
Объясните в чём разница между двумя запросами?

select departament_id
from t1
group by departament_id;

select distinct departament_id 
from t1;

по результатом данных запросов никакой разницы нет , но по обработки этих запросов есть разница.
5 апр 13, 15:44    [14141130]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Какая разница
Guest
Большая разница
Какая разница
Объясните в чём разница между двумя запросами?
В том, что группировка - группирует, а distinct выводит distinct значения


в тесте OCA нет такого ответа=)
вопрос взят из теста OCA. может кто проходил тест и помнит варианты ответа=))
5 апр 13, 16:43    [14141542]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
Какая разница
Большая разница
пропущено...
В том, что группировка - группирует, а distinct выводит distinct значения


в тесте OCA нет такого ответа=)
вопрос взят из теста OCA. может кто проходил тест и помнит варианты ответа=))

я был в тесте но мне этот вопрос не попал, приведи варианты.
5 апр 13, 16:45    [14141565]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
DВА
Member

Откуда:
Сообщений: 5439
вы бы исходный вопрос теста написали
5 апр 13, 16:53    [14141625]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Какая разница
Guest
dbms_photoshop
Какая разница,

Используются разные алгоритмы sort unique/hash unique (distinct), sort group by/hash group by (group by).
Реализация алгоритмов может варьироваться от версии к версии.
+ 13632934


спасибо за ответ.
5 апр 13, 16:53    [14141627]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Сергей Арсеньев
Member

Откуда:
Сообщений: 4118
Какая разница,

тем что к group by можно дописать having
5 апр 13, 16:56    [14141659]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
vov1k.15
Member

Откуда: Пермь
Сообщений: 25
distinct - удаляет дубли строк из результата запроса
group by - группировка, как Вы написали обычно не используется(для этого есть distinct), а используется совместно с агрегатными функциями (max, min, avg etc.)

select departament_id, count(departament_id) departament_count
from t1
group by departament_id;
5 апр 13, 17:05    [14141753]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Какая разница
Guest
vov1k.15
distinct - удаляет дубли строк из результата запроса
group by - группировка, как Вы написали обычно не используется(для этого есть distinct), а используется совместно с агрегатными функциями (max, min, avg etc.)

select departament_id, count(departament_id) departament_count
from t1
group by departament_id;


да в этом то и вся соль вопроса была.

если сегодня мне этот вопрос опять попадётся запишу обязательно.
5 апр 13, 17:36    [14141981]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
user1241
Guest
Ramin Hashimzade
по результатом данных запросов никакой разницы нет , но по обработки этих запросов есть разница.


вообще-то не совсем

alter session set NLS_COMP = LINGUISTIC


select t from (select rpad('q',3000,'q') || 1 t from dual union all select rpad('q',3000,'q') || 2 from dual) group by t


select distinct t from (select rpad('q',3000,'q') || 1 t from dual union all select rpad('q',3000,'q') || 2 from dual)
5 апр 13, 17:39    [14141999]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
user1241
Guest
Есть подозрение что это не баг, просто Restricted Precision of Linguistic Comparison не распространяются на HASH UNIQUE
5 апр 13, 17:44    [14142050]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
stax..
Guest
user1241,
в не древних версиях ни distinct, ни group by не гарантируют что результат будет упопядочен

теоретически любые два прогона одного и того-же селекта без order by могут вернуть записи в разной последовательности

.....
stax
5 апр 13, 17:49    [14142085]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Какая разница
Guest
stax..
user1241,
в не древних версиях ни distinct, ни group by не гарантируют что результат будет упопядочен

теоретически любые два прогона одного и того-же селекта без order by могут вернуть записи в разной последовательности

.....
stax


почему же этого не происходит?
специально выполнил несколько селектов и всегда ASC по умолчанию...
5 апр 13, 17:51    [14142102]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
user1241
Guest
stax..,

При чем тут упорядочивание? первый запрос возвращает 1 строку, второй 2, проверено на 11.2.0.3
5 апр 13, 17:52    [14142108]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Какая разница
Guest
user1241
stax..,

При чем тут упорядочивание? первый запрос возвращает 1 строку, второй 2, проверено на 11.2.0.3


Oracle 11.2.0.1

оба запроса возвращают одинаковое количество строк с одинаковым содержиым, единственно чем они отличаются,это планами. в одном случае HASH UNIQUE, в другом
HASH GROUP BY. Unique Предпочтительнее.
5 апр 13, 17:56    [14142137]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
stax..
Guest
stax..
user1241,
в не древних версиях ни distinct, ни group by не гарантируют что результат будет упопядочен

теоретически любые два прогона одного и того-же селекта без order by могут вернуть записи в разной последовательности

.....
stax

ой
шото я заработался

.....
stax
5 апр 13, 17:57    [14142141]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
user1241
Guest
Какая разница,

Неправильно alter session выполнили значит
5 апр 13, 17:59    [14142151]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Какая разница
Guest
stax..
stax..
user1241,
в не древних версиях ни distinct, ни group by не гарантируют что результат будет упопядочен

теоретически любые два прогона одного и того-же селекта без order by могут вернуть записи в разной последовательности

.....
stax

ой
шото я заработался

.....
stax


я таки не очень понимаю, какая разница помимо плана в приведённых запросах
при alter session set NLS_COMP = LINGUISTIC????
5 апр 13, 17:59    [14142154]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
DВА
Member

Откуда:
Сообщений: 5439
user1241
stax..,

При чем тут упорядочивание? первый запрос возвращает 1 строку, второй 2, проверено на 11.2.0.3

это при каких nls-настройках?
ничего не перепутали?
с чего бы им возвращать разное количество строк?
5 апр 13, 18:00    [14142158]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Какая разница
Guest
user1241
Какая разница,

Неправильно alter session выполнили значит


а как можно это неправильно выполнить?

alter session set NLS_COMP = LINGUISTIC
Session altered.


и что означает LINGUISTIC?
5 апр 13, 18:01    [14142160]     Ответить | Цитировать Сообщить модератору
 Re: Какая разница между двумя запросами: distinct и group by?  [new]
Какая разница
Guest
DВА
user1241
stax..,

При чем тут упорядочивание? первый запрос возвращает 1 строку, второй 2, проверено на 11.2.0.3

это при каких nls-настройках?
ничего не перепутали?
с чего бы им возвращать разное количество строк?


вот так вот задашь какой-нибудь глупый вопрос и любуешься потом
ответами=)
5 апр 13, 18:02    [14142164]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Oracle Ответить