Подходит для задач вроде «последний заказ клиента» или «первая операция по счёту». Работает компактно и быстрее оконных функций, если нужен один результат на группу.
Что важно знать:
• Используется с ORDER BY — сначала поле из DISTINCT ON, затем сортировка внутри групп.
• Без ORDER BY результат непредсказуем — зависит от физического порядка строк.
• Альтернатива ROW_NUMBER() — тот же результат, но без подзапросов и лишнего кода.
DISTINCT ON — мощный инструмент в арсенале PostgreSQL, когда важна лаконичность и производительность.
➡ SQL Ready | #гайд




