Как подсчитать уникальные значения в PostgreSQL?

установить и настроить PostgreSQL на Ubuntu База данных

База данных Postgresql, как и другие базы данных, может хранить данные, которые остаются неизменными в течение длительного времени. Это можно сделать, удалив избыточность данных в схеме, поддерживая параллелизм и точность имеющихся данных. При добавлении данных в отношения вы можете столкнуться с такой ситуацией, когда вы не заметите репликацию вставленных данных во время вставки. Чтобы удалить ненужные значения или аналогичные данные, нам нужны специальные функции, чтобы остальные значения оставались уникальными и отличными. Count () — это встроенная функция PostgreSQL. Используя эту функцию, мы можем получить информацию о данных, представленных в таблице. Postgresql очень эффективно работает с count (), отображая данные в соответствии с предоставленными условиями. Чтобы получить отличные данные или значения с точки зрения различения с другими данными, нам нужны разные команды и count (). В этой статье будут освещены примеры, применяемые к различным отношениям, для разработки концепции подсчета уникальных значений в PostgreSQL.

Во-первых, вам нужно создать базу данных в установленном PostgreSQL. В противном случае Postgres — это база данных, которая создается по умолчанию при запуске базы данных. Мы будем использовать psql для начала реализации. Вы можете использовать pgAdmin.

Таблица с именем «items» создается с помощью команды create.

>> create table items ( id integername varchar(10), category varchar(10), order_no integer, address varchar(10), expire_month varchar(10));

Для ввода значений в таблицу используется оператор вставки.

>> insert into items values (7, ‘sweater’, ‘clothes’, 8, ‘Lahore’);

После вставки всех данных с помощью оператора вставки теперь вы можете получить все записи с помощью оператора выбора.

>> select * from items;

Пример 1

В этой таблице, как вы можете видеть на снимке, есть похожие данные в каждом столбце. Чтобы различать необычные значения, мы применим команду «отличные». Этот запрос будет принимать в качестве параметра один столбец, значения которого должны быть извлечены. Мы хотим использовать первый столбец таблицы в качестве входных данных для запроса.

>> select distinct (id) from items order by id;

Из выходных данных вы можете видеть, что всего строк составляет 7, тогда как в таблице всего 10 строк, что означает, что некоторые строки вычтены. Все числа в столбце «id», которые были дублированы дважды или более, отображаются только один раз, чтобы отличить результирующую таблицу от других. Все результаты располагаются в порядке возрастания с помощью «предложения порядка».

Читайте также:  Что такое очистка данных

Из выходных данных вы можете видеть, что всего строк составляет 7

Пример 2

Этот пример относится к подзапросу, в котором в подзапросе используется отдельное ключевое слово. Основной запрос выбирает order_no из содержимого, полученного из подзапроса, который является входом для основного запроса.

>> select order_no from (select distinct ( order_no) from items order by order_no) as foo;

Подзапрос получит все уникальные номера заказов; даже повторяющиеся отображаются один раз. Тот же столбец order_no снова упорядочивает результат. В конце запроса вы заметили использование «foo». Это действует как заполнитель для хранения значения, которое может изменяться в соответствии с заданным условием. Вы также можете попробовать, не используя его. Но чтобы убедиться в правильности, мы воспользовались этим.

Пример 3

Чтобы получить различные значения, мы воспользуемся еще одним методом. Ключевое слово «отличное» используется с функцией count () и предложением «группировать по». Здесь мы выбрали столбец с именем «адрес». Функция count подсчитывает значения из столбца адреса, полученные с помощью отдельной функции. Если мы случайно подумаем о подсчете различных значений, помимо результата запроса, мы получим одно значение для каждого элемента. Поскольку, как видно из названия, отличные будут иметь значения, равные единице, либо они присутствуют в числах. Точно так же функция подсчета будет отображать только одно значение.

>> select address, count ( distinct(address)) from items group by address;

Каждый адрес считается одним числом из-за различных значений.

Пример 4

Простая функция «группировать по» определяет отдельные значения из двух столбцов. Условие состоит в том, что столбцы, выбранные вами для запроса для отображения содержимого, должны использоваться в предложении «group by», поскольку без этого запрос не будет работать должным образом.

>> select id, category from items group by category, id order by 1;

Все полученные значения расположены в порядке возрастания.

Пример 5

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

>> select * from items;

В этом примере к двум столбцам используются те же предложения group by и order by. Выбраны Id и order_no, и оба сгруппированы и упорядочены по 1.

>> select id, order_no from items group by id, order_no order by 1;

Поскольку каждый идентификатор имеет другой порядковый номер, за исключением одного числа, к которому добавлено «10», все другие числа, дважды или более присутствующие в таблице, отображаются одновременно. Например, идентификатор «1» имеет порядковые номера 4 и 8, поэтому оба упомянуты отдельно. Но в случае идентификатора «10» он записывается один раз, потому что оба идентификатора и order_no одинаковы.

Читайте также:  SQL Group By: Полное руководство

Пример 6

Мы использовали упомянутый выше запрос с функцией count. Это сформирует дополнительный столбец с результирующим значением для отображения значения счетчика. Это значение — количество раз, когда «id» и «order_no» совпадают.

>> select id, order_no, count(*) from items group by id, order_no order by 1;

Выходные данные показывают, что каждая строка имеет значение счетчика «1», поскольку обе имеют одно значение, которое отличается друг от друга, за исключением последнего.

Пример 7

В этом примере используются почти все предложения. Например, используются предложение select, group by, has clause, order by и функция count. Используя предложение «имеющий», мы также можем получить повторяющиеся значения, но здесь мы применили условие с функцией подсчета.

>> select order_no from items group by order_no having count (order_no) > 1 order by 1;

Выбран только один столбец. Прежде всего, выбираются значения order_no, отличные от других строк, и к ним применяется функция count. Результат, полученный после функции счета, упорядочен по возрастанию. Затем все значения сравниваются со значением «1». Отображаются значения столбца больше 1. Поэтому из 11 рядов получается всего 4 ряда.

Заключение

«Как подсчитать уникальные значения в PostgreSQL» работает отдельно от простой функции подсчета, поскольку ее можно использовать с разными предложениями. Чтобы получить запись, имеющую отличное значение, мы использовали множество ограничений, а также функцию count и independent. Эта статья познакомит вас с концепцией подсчета уникальных значений в отношении.

Оцените статью
bestprogrammer.ru
Добавить комментарий