DISTINCT ON в PostgreSQL позволяет извлекать уникальные строки на основе значений в одном или нескольких столбцах таблицы. 5 В отличие от стандартного DISTINCT, который удаляет все дубликаты, DISTINCT ON даёт больше контроля. 5
Работа DISTINCT ON происходит в два этапа: 2
Для более организованного набора результатов можно использовать предложение ORDER BY вместе с DISTINCT ON. 1
Пример использования: SELECT DISTINCT ON (departmentid) departmentid, lastname, firstname FROM employees ORDER BY departmentid, lastname, firstname. 4 В этом примере извлекается первая встреченная строка для каждого отдельного departmentid. 4 Сначала строки упорядочены по departmentid, затем по lastname и first_name. 4
Важно учитывать, что DISTINCT ON — особенность PostgreSQL и не входит в стандартную спецификацию SQL. 4