Languages
[Edit]
EN

MS SQL Server - find duplicated values in multiple columns

0 points
Created by:
aaliyah
471

In this article, we would like to show you how to find duplicated values in multiple columns in MS SQL Server.

Quick solution:

SELECT 
    [column1], COUNT([column1]),
    [column2], COUNT([column2]),
    [columnN], COUNT([columnN])
FROM
    [table_name]
GROUP BY 
    [column1],
    [column2],
    [columnN]
HAVING 
    (COUNT([column1]) > 1) AND 
    (COUNT([column2]) > 1) AND
    (COUNT([columnN]) > 1);

Practical example

To show how to find duplicated values in multiple columns, we will use the following table:

MS SQL Server - example data used to find duplicated values in multiple columns
MS SQL Server - example data used to find duplicated values in multiple columns

Note:

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

Example

In this example, we will display duplicated users and countries where:

  • name_quantity - number of duplicated names,
  • country_quantity - number of duplicated countries.

Note:

This works only when both name and country in a row are duplicated.

Query:

SELECT 
    [name], COUNT([name]) AS 'name_quantity',
    [country], COUNT([country]) AS 'country_quantity'
FROM
    [users]
GROUP BY 
    [name],
    [country]
HAVING 
    (COUNT([name]) > 1) AND 
    (COUNT([country]) > 1);

Result:

MS SQL Server - find and count duplicated values in multiple columns - result
MS SQL Server - find and count duplicated values in multiple columns - results

Note:

Notice that Chris user both name_quantity and country_quantity equals 2 because one user is from a different country.

Database preparation

create_tables.sql file:

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

insert_data.sql file:

INSERT INTO [users]
	([name], [email], [country])
VALUES
	('Tom', 'tom1@email.com', 'Poland'),
	('Tom', 'tom2@email.com', 'Poland'),
    ('Tom', 'tom3@email.com', 'Poland'),
    ('Kim', 'kim1@email.com', 'Vietnam'),
    ('Kim', 'kim2@email.com', 'Vietnam'),
    ('Chris', 'chris1@email.com', 'Spain'),
	('Chris', 'chris2@email.com', 'Spain'),
	('Chris', 'chris3@email.com', 'USA');
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

MS SQL Server - problems

MS SQL Server - find duplicated values in multiple columns
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