Есть таблица:
-- Создаём таблицу CREATE TABLE test1.np ( name text, product text ); -- Наполняем данными INSERT INTO test1.np VALUES ('Иван', 'Молоко'); INSERT INTO test1.np VALUES ('Иван', 'Кефир'); INSERT INTO test1.np VALUES ('Николай', 'Молоко'); INSERT INTO test1.np VALUES ('Сергей', 'Кефир'); INSERT INTO test1.np VALUES ('Сергей', 'Кефир'); INSERT INTO test1.np VALUES ('Сергей', 'Сметана'); INSERT INTO test1.np VALUES ('Сергей', 'Молоко'); INSERT INTO test1.np VALUES ('Инна', 'Творог'); INSERT INTO test1.np VALUES ('Инна', 'Творог'); INSERT INTO test1.np VALUES ('Инна', 'Ряженка'); -- Выводим таблицу для ознакомления SELECT * FROM test1.np;
Выглядит наша таблица так:
Как получить уникальные значения из ячеек одного столбца?
Группировка данных
Для группировки данных в SQL используется предложение GROUP BY. Наш запрос на группировку данных будет выглядеть так:
SELECT name FROM test1.np GROUP BY name;
Итоговый табличный результат после группировки:
Мы получили 4 уникальных значения имени на основании одного столбца таблицы.
Мы также можем получить уникальные значения продуктов по второму столбцу таблицы.
SELECT product FROM test1.np GROUP BY product;
Итоговый табличный результат после группировки:
Мы получили 5 уникальных значения продуктов на основании одного столбца таблицы.
Итог
Таблица из 10 записей по итогу состоит из 9 уникальных единиц данных:
- 4 имени
- 5 продуктов
Информационные ссылки
Официальный сайт WEB-оболочки pgAdmin — https://www.pgadmin.org
Официальный сайт СУБД PostgreSQL — https://www.postgresql.org