PostgreSQL | Как получить уникальные значения из столбца таблицы?

PostgreSQL | Как получить уникальные значения из столбца таблицы?

Есть таблица:

-- Создаём таблицу
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;

 

Выглядит наша таблица так:

Таблица на 10 записей и 2 столбца - PostgreSQL
Таблица на 10 записей и 2 столбца — PostgreSQL

Как получить уникальные значения из ячеек одного столбца?

 

Группировка данных

Для группировки данных в SQL используется предложение GROUP BY. Наш запрос на группировку данных будет выглядеть так:

SELECT name FROM test1.np GROUP BY name;

Итоговый табличный результат после группировки:

Группировка данных по одному столбцу name - PostgreSQL
Группировка данных по одному столбцу name — PostgreSQL

Мы получили 4 уникальных значения имени на основании одного столбца таблицы.

 

Мы также можем получить уникальные значения продуктов по второму столбцу таблицы.

SELECT product FROM test1.np GROUP BY product;

Итоговый табличный результат после группировки:

Группировка данных по одному столбцу product - PostgreSQL
Группировка данных по одному столбцу product — PostgreSQL

Мы получили 5 уникальных значения продуктов на основании одного столбца таблицы.

 

Итог

Таблица из 10 записей по итогу состоит из 9 уникальных единиц данных:

  • 4 имени
  • 5 продуктов

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdminhttps://www.pgadmin.org

Официальный сайт СУБД PostgreSQLhttps://www.postgresql.org