Languages
[Edit]
EN

MS SQL Server - count distinct values

0 points
Created by:
Dirask JS Member
3610

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

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:

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

MS SQL Server - count distinct values result
MS SQL Server - 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:

MS SQL Server - count unique values result
MS SQL Server - count unique values result

Database preparation

create_tables.sql file:

CREATE TABLE [users] (
	[id] INT IDENTITY(1,1),
	[name] VARCHAR(100) NOT NULL,
	[country] VARCHAR(15) NOT NULL,
	PRIMARY KEY ([id])
);

insert_data.sql file:

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

MS SQL Server - problems

MS SQL Server - 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