SQL DISTINCT Vs GROUP BY Statement

DISTINCT is a filter that separates unique records from those that meet the query requirements.

When you need to group data, the "GROUP BY" clause is utilised.

it should be used to apply aggregate operators to each group.

Let's look at the distinction between DISTINCT and GROUP BY.

Because a DISTINCT and a GROUP BY normally yield the same query plan, the performance of both query techniques should be comparable.


SQL DISTINCT Statement

If you have a lookup table with multiple duplicate records, you can use the DISTINCT function to get unique results.

Example: Let's look at Country table and get unique value

id code name continent
1 KGZ Kyrgyzstan Asia
2 DNK Denmark Europe
3 LKA Sri Lanka Asia
4 SVN Slovenia Europe
5 YUG Yugoslavia Europe
6 VIR Virgin Islands, U.S. North America

Let's work above table in query

SELECT Distinct continent
From Country;

In this query we get unique value from continent column in Country Table.

Output: To get unique data in continent coulmn will be

continent
Asia
Europe
North America

SQL GROUP BY Statement

When you wish to group your data based on some criteria or perform an aggregate function on grouped data, use GROUP BY .

Example: Let's look at Customer table and write query for get name and phone no

ID Name Phone EMail
1 Bala Murugan 9337055846 Bala-Murugan1623@hotmail.com
2 Hari Krishnan 9684448640 Hari-Krishnan5531@yahoo.com
3 Hanumanthan 9350414675 Hanumanthan9008@yahoo.com
4 Sakunthala 9292214983 Sakunthala3772@hotmail.com

In below query we grouped data two column Name and Phone from Customer table

SELECT Name ,Phone
FROM Customer
WHERE id>3
GROUP BY Name,Phone;

Output: Will get output of grouped data is

name phone
Geetha 9982436948

SQL Difference Between DISTINCT And GROUPBY Function

There are 5 main contrast in distinct vs groupby:-

DISTINCT GROUP BY
DISTINCT is a filter that separates unique records from those that meet the query requirements. GROUP BY is used when you want to group your data with some criteria or any aggregate function on grouped data.
If you have a result set with multiple duplicate records, you can use the DISTINCT function to retrieve unique results. When you need to group data, the GROUP BY clause is employed, and it should be used to apply aggregate operators to each group.
GROUP BY cannot be replaced by DISTINCT. In some cases, GROUP BY may replace DISTINCT.
Distinct is used to find records that are unique or distinct. GROUP BY groups a set of rows into summary rows based on one or more columns or a phrase.
If all you want to do is get rid of duplicates, use DISTINCT. To apply aggregate operators to each group, use GROUP BY.