Задать вопрос
@McMike

Почему не работает Distinct без OrderBy?

Ломается запрос, если пытаюсь убрать дубли по полю с помощью DISTINCT ON, при этом не добавляя это поле в ORDER BY.

Почему? Как в PG раблотает distinct? Как быть, если нужно убрать дублирующие записи, но отсортировать по другому полю?
  • Вопрос задан
  • 427 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Есть поле A по которому вы делаете distinct, есть поле B по которому вы хотите сделать сортировку после устранения дубликатов.

Далее есть два варианта:

- Если DISTINCT ON (A) = DISTINCT ON (A, B), собственно и нет никаких проблем делаете дистинкт по двум полям оба из этих полей можете указать в сортировке.
- Если DISTINCT ON (A) <> DISTINCT ON (A, B), то происходит что-то странное, какой результат от сортировки вы ожидаете если нет никаких гарантий какое из значений поля B окажется в итоговой выборке?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы