В SQL есть стандартный DISTINCT, который используется так: SELECT DISTINCT names FROM table. Это означает: «Дай мне все УНИКАЛЬНЫЕ имена из таблицы». Представим, что в коробке лежат джинсы, футболки и кепки. Запрос SELECT DISTINCT clothes выдаст по одному экземпляру от каждого вида: одни джинсы, одну футболку и одну кепку. Добавив описательные атрибуты, например, DISTINCT clothes, color мы получим уникальные комбинации вида и цвета.Теперь мы можем достать по одной футболке зеленого и желтого цвета, но нам может попасться хлопковая, кашемировая или шелковая. Если мы хотим достать по одной штуке каждого вида, цвета и материала, мы напишем DISTINCT clothes, color, material — в общем, перечислим всё, что должно входить в уникальный набор. Эту фишку можно продвинуть и использовать DISTINCT ON. Мы пишем: DISTINCT ON (clothes, color, material) и добавляем ORDER BY, например, по price. С помощью DISTINCT ON мы указываем, по каким столбцам определять уникальность, а сортировкой (в данном случа