Languages
[Edit]
EN

PostgreSQL - count distinct values

0 points
Created by:
Dirask Admin - Marwin
1430

In this article, we would like to show you how to count distinct values in PostgreSQL.

Quick solution:

SELECT COUNT(DISTINCT "column_name")
FROM "table_name";
SELECT COUNT("column1") AS "alias_name", "column2", "columnN"
FROM "table_name"
GROUP BY "columnN"
ORDER BY COUNT("column1") DESC;

Practical example

To show how to count distinct values, we will use the following table:

PostgreSQL - example data used to count distinct values
PostgreSQL - example data used to count distinct values

Note:

At the end of this article you can find database preparation SQL queries.

Example 1

In this example, we will count the number of unique countries in users table.

Query:

SELECT COUNT(DISTINCT("country")) AS "unique_countries"
FROM "users";

Output:

PostgreSQL - count distinct values result
PostgreSQL - count distinct values result

Example 2

In this example, we will count the number of users in every (unique) country in descending order.

Query:

SELECT COUNT("name") AS "number of users", "country"
FROM "users"
GROUP BY "country"
ORDER BY COUNT("name") DESC;

Output:

PostgreSQL - count unique values result
PostgreSQL - count unique values result

Database preparation

create_tables.sql file:

CREATE TABLE "users" (
	"id" SERIAL,
	"name" VARCHAR(100) NOT NULL,
	"country" VARCHAR(15) NOT NULL,
	PRIMARY KEY ("id")
)
ENGINE=InnoDB;

insert_data.sql file:

INSERT INTO "users"
	("name", "country")
VALUES
	('Tom', 'Poland'),
	('Chris', 'Spain'),
	('Jack', 'Spain'),
   ('Kim', 'Vietnam'),
   ('Marco', 'Italy'),
	('Kate', 'Spain'),
	('Nam', 'Vietnam');

PostgreSQL - problems

PostgreSQL - count distinct values
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join