Languages
[Edit]
EN

MySQL - count distinct values

0 points
Created by:
Dirask Community
6240

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

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:

MySQL - example data used to count distinct values
MySQL - 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:

MySQL - count distinct values result
MySQL - 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:

MySQL - count unique values result
MySQL - count unique values result

Database preparation

create_tables.sql file:

CREATE TABLE `users` (
	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	`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');

MySQL - Problems

MySQL - 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