sql unique count and use distinct in sql

Today, We want to share with you sql unique count and use distinct in sql.In this post we will show you sql find duplicates with count in sql, hear for sql uniques count, use distinct in sql, count function in sql server we will give you demo and example for implement.In this post, we will learn about sql check for duplicates, how to delete duplicate records in sql server, count queries in sql with an example.

sql unique count and use distinct in sql

There are the Following The simple About count sql and count syntax in sql Full Information With Example and source code.

As I will cover this Post with live Working example to develop sql remove duplicates with find duplicate records in sql, so the some major files and Directory structures for this example is following below.

This big post explores SQL Count Distinct operator for eliminating the multiple data value same as like a duplicate rows/records in the sql result set.

SQL COUNT() with distinct

A any type of front-end and banckend developer required to fetch data from a SQL table with multiple conditions. Sometimes, we want to fetch all records in a table so eliminate the exists NULL values. Case 1: I need to fetch distinct student records that have placed an shop last year.

Now, go ahead as well as have a quick overview of SQL Count method.

COUNT() function with distinct conditions

SQL COUNT() method with DISTINCT conditions terminate the repetitive appearance of the same data. The DISTINCT can come only once in a given select Query.

Syntax :

COUNT(DISTINCT expr,[expr...])

//-- Aggregation method Syntax
COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )  

//-- Analytic method Syntax  
COUNT ( [ ALL ]  { expression | * } ) OVER ( [  ] )  

Arguments

Return types

use distinct in sql Return types is a int

Flow Diagram for sql unique count
sql unique count and use distinct in sql
sql unique count and use distinct in sql

SQL Count Function : IN sql unique count

I use SQL Count aggregate method to get the number of rows in the output. second Case I have a product table that holds rows for all products sold by a big it tech.. I need to know the count of products sold during the last quarter. I can use SQL Count method to return the number of rows in the particularize condition.

COUNT DISTINCT and COUNT UNIQUE functions

The COUNT DISTINCT as well as COUNT UNIQUE methods data return unique some values.

The COUNT DISTINCT method returns the total number of unique data values in the table of the column or expression, as the in-accordance simple example shows.

SELECT COUNT (DISTINCT products_no) FROM products;

If the COUNT DISTINCT methods encounters NULL values, it expectly them unless every data value in the particularize column is NULL. If every column value is NULL, the COUNT DISTINCT methods returns zero (0).

The UNIQUE keyword has the same to same meaning(Extly) as the DISTINCT keyword in COUNT methods. The UNIQUE keyword more details the database server to return the total number of DISTINCT unique non-NULL data values in the column or expression. The in-accordance simple example calls the COUNT UNIQUE methods, so it is equivalent to the preceding simple example that calls the COUNT DISTINCT methods:

SELECT COUNT (UNIQUE products_no) FROM products;

If the simple UNIQUE conditions does not specify the DISTINCT or UNIQUE keyword of the SELECT Query, the query can added multiple COUNT methods that each some put on the DISTINCT as well as UNIQUE keyword as the first specification in the parameters list, as in the in-accordance example:

SELECT COUNT (UNIQUE products_no), COUNT (DISTINCT shop_num) FROM items;

Example : 1 Using COUNT and DISTINCT

SELECT COUNT(DISTINCT Title)  
FROM Manager.Worker;  
GO  

here is the Sql Query Results

-----------
67  
  
(1 row(s) affected)

Example : 2 Using COUNT(*)

SELECT COUNT(*)  
FROM Manager.Worker;  
GO

here is the Sql Query Results

-----------
290  
  
(1 row(s) affected)

Example : 3 Using COUNT(*) with other aggregates

SELECT COUNT(*), AVG(Gift)  
FROM Manage.ManagePerson  
WHERE ManageQuota > 25777;  
GO

here is the Sql Query Results

----------- ---------------------
14            3472.1428
  
(1 row(s) affected)

Example : 4 Using the OVER conditions

SELECT DISTINCT Name  
       , MIN(Rate) OVER (PARTITION BY edh.CategoryID) AS salaryMin  
       , MAX(Rate) OVER (PARTITION BY edh.CategoryID) AS MaxSalary  
       , AVG(Rate) OVER (PARTITION BY edh.CategoryID) AS AvgSalary  
       ,COUNT(edh.AssertiveEntityID) OVER (PARTITION BY edh.CategoryID) AS WorkersPerDept  
FROM Manager.WorkerPayHistory AS eph  
JOIN Manager.WorkerCategoryHistory AS edh  
     ON eph.AssertiveEntityID = edh.AssertiveEntityID  
JOIN Manager.Category AS d  
ON d.CategoryID = edh.CategoryID
WHERE edh.EndDate IS NULL  
SOPER BY Name; 

here is the Sql Query Results

Name                          salaryMin             MaxSalary             AvgSalary             WorkersPerDept  
----------------------------- --------------------- --------------------- --------------------- ----------------  
Markihjd Excutei              10.25                 17.7885               14.3884               5  
officersdbs                   32.6923               63.4615               40.1442               6  
Enginneri                     39.06                 125.50                68.3034               4  
shreemsti and karigardsbes    9.25                  24.0385               13.0316               7  
Profesi                       13.4615               43.2692               23.935                10  
Human Resources               13.9423               27.1394               18.0248               6  
ashley kennedy datas          27.4038               50.4821               34.1586               10  
Marketing                     13.4615               37.50                 18.4318               11  
Devlopersd                    6.50                  84.1346               13.5537               195  
Devlopersd Control            8.62                  24.5192               16.7746               8  
administar                    9.86                  30.00                 18.0202               14  
Based on Dataware             10.5769               28.8462               15.4647               6  
sodhdi win khoaklsijdbhs      40.8654               50.4821               43.6731               4  
Pakai                         23.0769               72.1154               29.9719               18  
sellarhe and gettingsd        9.00                  19.2321               10.8718               6  
taps Design                   8.62                  29.8462               23.5054               6  
  
(16 row(s) affected)

SQL SELECT DISTINCT Statement

The SELECT DISTINCT sql query is used to return here only distinct unique (different) sql set.

Inside a Database table, a column often data multiple records many duplicate data values; as well as sometimes you only need to set of the different unique (distinct) data values.

SELECT DISTINCT Syntax

SELECT DISTINCT column1, column2, ...
FROM db_table_name;

SELECT Example Without DISTINCT

The in-accordance SQL Query selects ALL (including the duplicates) values from the “Place” column in the “Students” table:

SELECT Place FROM Students;

and then, let us use the DISTINCT keyword with the above SELECT Query and display the output.

SELECT DISTINCT Examples

The in-accordance SQL Query selects only the DISTINCT values from the “Place” column in the “Students” table:

SELECT DISTINCT Place FROM Students;

The in-accordance SQL Query lists the number of different (distinct) student places:

SELECT COUNT(DISTINCT teacher) FROM Students;

Here is the workaround for MS Access:

SELECT Count(*) AS DistinctPlaces
FROM (SELECT DISTINCT teacher FROM Students);

sql unique count Example

Example :

To retrive unique number of records from the ‘shops’ table with in-accordance conditions –

  • only unique stud_code will be counted
  • output will display with the heading “Number of workers”

the in-accordance SQL Query can be used :

SELECT COUNT ( DISTINCT stud_code ) AS "Number of workers" 
FROM shops;

Sample Database table : shops

   SOP_NUM SOP_AMOUNT ADVANCE_AMOUNT SOP_DATE  STUD_CODE       AGENT_CODE      SOP_DESCRIPTION
---------- ---------- -------------- --------- --------------- --------------- -----------------
    555114       3500           5550 15-AUG-21 C77702          P021
    555122       2500            400 16-SEP-21 C77703          P004
    555118        500            100 20-JUL-21 C77723          P006
    555119       4777            700 16-SEP-21 C77707          P010
    555121       1500            600 23-SEP-21 C77721          P004
    555130       2500            400 30-JUL-21 C77725          P011
    555134       4555           1800 25-SEP-21 C77704          P005
    555121       4777            600 15-FEB-21 C77721          P004
    555103       1500            700 15-MAY-21 C77721          P005
    555105       2500            500 18-JUL-21 C77725          P011
    555109       3500            800 30-JUL-21 C77711          P010
    555101       3777           1777 15-JUL-21 C77701          P021
    555111       1777            300 10-JUL-21 C77720          P021
    555104       1500            500 13-MAR-21 C77706          P004
    555106       2500            700 20-APR-21 C77705          P002
    555125       5550            600 10-OCT-21 C77718          P005
    555117        800            555 20-OCT-21 C77714          P001
    555123        500            100 16-SEP-21 C77722          P002
    555120        500            100 20-JUL-21 C77709          P002
    555116        500            100 13-JUL-21 C77710          P009
    555124        500            100 20-JUN-21 C77717          P007
    555126        500            100 24-JUN-21 C77722          P002
    555129       2500            500 20-JUL-21 C77724          P006
    555127       2500            400 20-JUL-21 C77715          P003
    555128       3500           1500 20-JUL-21 C77709          P002
    555135       5550            800 16-SEP-21 C77707          P010
    555131        900            150 26-AUG-21 C77712          P012
    555133       1555            400 29-JUN-21 C77709          P002
    555100       1777            600 21-JAN-21 C77715          P003
    555110       3777            500 15-APR-21 C77719          P010
    555107       4500            900 30-AUG-21 C77707          P010
    555112       5550            400 30-MAY-21 C77716          P007
    555113       4777            600 10-JUN-21 C77722          P002
    555102       5550            300 25-MAY-21 C77712          P012

Result this Sql Query

Output :

Number of workers
-------------------
                 25

sql count(distinct multiple columns)

In the in-accordance, I have Information the usage of ALL conditions with SQL COUNT() methods to count only the non NULL data value for the particularize table column within the parameters. The difference between ‘*’(asterisk) as well as ALL are, ‘*’ counts the NULL data value also but use the ALL counts only here NON NULL data value.

Example:

To get data of number of valid ‘percentage’ from the ‘student’ table with the in-accordance condition –

  • every student must be a valid percentage

the in-accordance SQL Query can be used :

SELECT COUNT( ALL percentage )
FROM student;

Sample table: student

+-----------+-------------+-------------+--------------+--------------+-------+-------------+-------------+-------------+---------------+--------------+------------+  
|STUD_CODE  | STUD_NAME   | STUD_CITY   | WORKING_AREA | STUD_COUNTRY | GRADE | OPENING_AMT | RECEIVE_AMT | PAYMENT_AMT |OUTSTANDING_AMT| PHONE_NO     | AGENT_CODE |
+-----------+-------------+-------------+--------------+--------------+-------+-------------+-------------+-------------+---------------+--------------+------------+
| C77713    | Holmes      | America      | America       | PK           |     2 |     6777.00 |     5777.00 |     7777.00 |       4777.00 | BBBBBBB      | P003       |
| C77701    | Micheal     | New York    | New York     | USA          |     2 |     3777.00 |     5777.00 |     5550.00 |       6777.00 | CCCCCCC      | P021       |
| C77720    | Albert      | New York    | New York     | USA          |     3 |     5777.00 |     7777.00 |     6777.00 |       6777.00 | BBBBSBB      | P021       |
| C77725    | Ravindran   | Rajkot   | Rajkot    | Caneda        |     2 |     5777.00 |     7777.00 |     4777.00 |       8777.00 | AVAVAVA      | P011       |
| C77724    | Cook        | America      | America       | PK           |     2 |     4777.00 |     9777.00 |     7777.00 |       6777.00 | FSDDSDF      | P006       |
| C77715    | Stuart      | America      | America       | PK           |     1 |     6777.00 |     8777.00 |     3777.00 |      11777.00 | GFSGERS      | P003       |
| C77702    | Bolt        | New York    | New York     | USA          |     3 |     5777.00 |     7777.00 |     9777.00 |       3777.00 | DDNRDRH      | P021       |
| C77718    | Fleming     | Brisban     | Brisban      | Australia    |     2 |     7777.00 |     7777.00 |     9777.00 |       5777.00 | NHBGVFC      | P005       |
| C77721    | Jacks       | Brisban     | Brisban      | Australia    |     1 |     7777.00 |     7777.00 |     7777.00 |       7777.00 | WERTGDF      | P005       |
| C77719    | Yearannaidu | Bhavanagar     | Bhavanagar      | Caneda        |     1 |     8777.00 |     7777.00 |     7777.00 |       8777.00 | ZZZZBFV      | P010       |
| C77705    | Sasikant    | Ahemdabad      | Ahemdabad       | Caneda        |     1 |     7777.00 |    11777.00 |     7777.00 |      11777.00 | 147-25896312 | P002       |
| C77707    | Ramanathan  | Bhavanagar     | Bhavanagar      | Caneda        |     1 |     7777.00 |    11777.00 |     9777.00 |       9777.00 | GHRDWSD      | P010       |
| C77722    | Avinash     | Ahemdabad      | Ahemdabad       | Caneda        |     2 |     7777.00 |    11777.00 |     9777.00 |       9777.00 | 113-12345678 | P002       |
| C77704    | Winston     | Brisban     | Brisban      | Australia    |     1 |     5777.00 |     8777.00 |     7777.00 |       6777.00 | AAAAAAA      | P005       |
| C77723    | Karl        | America      | America       | PK           |     0 |     4777.00 |     6777.00 |     7777.00 |       3777.00 | AAAABAA      | P006       |
| C77706    | Shilton     | Surat     | Surat      | Canada       |     1 |    17770.00 |     7777.00 |     6777.00 |      11777.00 | DDDDDDD      | P004       |
| C77710    | Charles     | Kalavad   | Kalavad    | PK           |     3 |     6777.00 |     4777.00 |     5777.00 |       5777.00 | MMMMMMM      | P009       |
| C77717    | Srinivas    | Rajkot   | Rajkot    | Caneda        |     2 |     8777.00 |     4777.00 |     3777.00 |       9777.00 | AAAAAAB      | P007       |
| C77712    | Steven      | San Jose    | San Jose     | USA          |     1 |     5777.00 |     7777.00 |     9777.00 |       3777.00 | KRFYGJK      | P012       |
| C77721    | Karolina    | Surat     | Surat      | Canada       |     1 |     7777.00 |     7777.00 |     9777.00 |       5777.00 | HJKORED      | P004       |
| C77703    | Martin      | Surat     | Surat      | Canada       |     2 |     8777.00 |     7777.00 |     7777.00 |       8777.00 | MJYURFD      | P004       |
| C77709    | Ramesh      | Ahemdabad      | Ahemdabad       | Caneda        |     3 |     8777.00 |     7777.00 |     3777.00 |      15550.00 | Phone No     | P002       |
| C77714    | Rangarappa  | Rajkot   | Rajkot    | Caneda        |     2 |     8777.00 |    11777.00 |     7777.00 |      15550.00 | AAAATGF      | P001       |
| C77716    | Venkatpati  | Rajkot   | Rajkot    | Caneda        |     2 |     8777.00 |    11777.00 |     7777.00 |      15550.00 | JRTVFDD      | P007       |
| C77711    | Sundariya   | Bhavanagar     | Bhavanagar      | Caneda        |     3 |     7777.00 |    11777.00 |     7777.00 |      11777.00 | PPHGRTS      | P010       |
+-----------+-------------+-------------+--------------+--------------+-------+-------------+-------------+-------------+---------------+--------------+------------+

Output :

Output :

COUNT(ALLGRADE)
---------------
             25

Note: results of the said SQL Query Display here is taken by in Oracle Database 10g Express platform Edition.

Difference between SELECT COUNT, COUNT(*) & SQL COUNT distinct

sql unique count

COUNT

Count(*)

Count(Distinct)

It returns the total number of records after fulfilling conditions particularize in the where conditions.

It returns the total number of records after fulfilling conditions particularize in the where conditions.

It returns the distinct number of records after fulfilling conditions particularize in the where conditions.

It gives the counts of records. It does not eliminate duplicate values.

It considers all records regardless of any duplicate, NULL values.

It gives a distinct number of records after eliminating NULL as well as duplicate values.

It terminate the NULL values in the results.

It does not eliminate the NULL values in the results.

It terminate the NULL values in the results.

Here is a slide presentation of SQL SELECT SUM On Multiple INNER JOIN With Another Table.

Web Programming Tutorials Example with Demo

Read :

Summary

You can also read about AngularJS, ASP.NET, VueJs, PHP.

I hope you get an idea about microsoft access if statements, distinct sql, sql server count, db2 count rows, count in sql, db2 value function, sql not distinct.
I would like to have feedback on my infinityknow.com blog.
Your valuable feedback, question, or comments about this article are always welcome.
If you enjoyed and liked this post, don’t forget to share.

Leave a Comment