logo

SQL CONTAGEM DISTINTA

Antes de entender o conceito de Função Count com a palavra-chave DISTINCT, precisamos saber sobre as palavras-chave Count e Distinct. Então, vamos começar com a função Count.

O que é contagem em SQL?

COUNT é uma função em Structured Query Language que mostra o número de registros da tabela no resultado. Em SQL, é sempre usado na consulta SELECT.

A sintaxe da função Count é fornecida abaixo:

 SELECT COUNT(Name_of_Column) FROM Name_of_Table; 

No exemplo de contagem, temos que definir o nome da coluna entre parênteses logo após a palavra-chave COUNT.

Exemplo de função de contagem

Primeiramente, temos que criar uma nova tabela na qual a função de contagem será executada.

jogos de mensagens no Android

A consulta a seguir cria o Professor_Detalhes mesa com ID_Professor como chave primária usando a instrução CREATE TABLE:

 CREATE TABLE Teacher_Details ( Teacher_ID INT NOT NULL, Teacher_Name varchar(100), Teacher_Qualification varchar(50), Teacher_Age INT, Teacher_Interview_Marks INT ); 

As seguintes consultas SQL inserem o registro de novos professores na tabela acima usando a instrução INSERT INTO:

 INSERT INTO Teacher_Details VALUES (101, Anuj, B.tech, 20, 88); INSERT INTO Teacher_Details VALUES (102, Raman, MCA, 24, NULL); INSERT INTO Teacher_Details VALUES (104, Shyam, BBA, 19, 92); INSERT INTO Teacher_Details VALUES (107, Vikash, B.tech, 20, NULL); INSERT INTO Teacher_Details VALUES (111, Monu, MBA, 21, NULL); INSERT INTO Teacher_Details VALUES (114, Jones, B.tech, 18, 93); INSERT INTO Teacher_Details VALUES (121, Parul, BCA, 20, 97); INSERT INTO Teacher_Details VALUES (123, Divya, B.tech, 21, NULL); INSERT INTO Teacher_Details VALUES (128, Hemant, MBA, 23, 90); INSERT INTO Teacher_Details VALUES (130, Nidhi, BBA, 20, 88); INSERT INTO Teacher_Details VALUES (132, Priya, MBA, 22, NULL); INSERT INTO Teacher_Details VALUES (138, Mohit, MCA, 21, 92); 

Vamos ver o registro da tabela acima usando a seguinte instrução SELECT:

 SELECT * FROM Teacher_Details; 

ID_Professor Nome do professor Professor_Qualificação Professor_Idade Professor_Entrevista_Marcas
101 Anuj B.tecnologia vinte 88
102 Raman MCA 24 NULO
104 Tímido BBA 19 92
107 Vikash B.tecnologia vinte NULO
111 Monu MBA vinte e um NULO
114 Jones B.tecnologia 18 93
121 O cabelo BCA vinte 97
123 Divya B.tecnologia vinte e um NULO
128 Hemant MBA 23 90
130 Nidi BBA vinte 88
132 Priya MBA 22 NULO
138 Mohit MCA vinte e um 92

A consulta a seguir conta os valores totais da coluna Teacher_Age da tabela Teacher_Details:

 SELECT COUNT (Teacher_Age) AS Total_Teachers_Age_Column FROM Teacher_Details; 

Saída:

SQL CONTAGEM DISTINTA

A saída da consulta SELECT acima é doze porque o Professor_Idade campo não contém nenhum valor NULL.

A consulta a seguir conta os valores totais de Teacher_Interview_Column da tabela acima:

 SELECT COUNT (Teacher_Interview_Marks) AS Total_Teachers_Interview_Marks FROM Teacher_Details; 

Esta consulta mostrará a saída abaixo na tela:

SQL CONTAGEM DISTINTA

A saída da consulta SELECT acima é 7 porque duas cinco células da coluna Teacher_Interview_Marks contêm NULL. E esses cinco valores NULL são excluídos. É por isso que a consulta SELECT exibe 7 em vez de 12 no resultado.

converter um objeto java para json

O que é a função Contagem (*)?

Também é semelhante à função Count, mas a única diferença é que ela também exibe o número de valores NULL da tabela.

A sintaxe da função Count (*) é fornecida aqui:

 SELECT COUNT(*) FROM Name_of_Table; 

Exemplo:

Vamos pegar o Teacher_Details acima:

Professor_ID Nome do professor Professor_Qualificação Professor_Idade Professor_Entrevista_Marcas
101 Anuj B.tecnologia vinte 88
102 Raman MCA 24 NULO
104 Tímido BBA 19 92
107 Vikash B.tecnologia vinte NULO
111 Monu MBA vinte e um NULO
114 Jones B.tecnologia 18 93
121 O cabelo BCA vinte 97
123 Divya B.tecnologia vinte e um NULO
128 Hemant MBA 23 90
130 Nidi BBA vinte 88
132 Priya MBA 22 NULO
138 Mohit MCA vinte e um 92

A consulta a seguir conta os valores totais do Total_Marcas_Entrevista coluna da tabela acima:

 SELECT COUNT (*) FROM Teacher_Details; 

A consulta SELECT com COUNT(*) acima fornecerá o resultado abaixo na tela:

SQL CONTAGEM DISTINTA

O que é DISTINTO em SQL?

A palavra-chave DISTINCT mostra as linhas exclusivas da coluna da tabela no resultado.

A sintaxe da palavra-chave DISTINCT é fornecida aqui:

 SELECT DISTINCT Name_of_Column FROM Table_Name WHERE [condition]; 

Na consulta DISTINCT, também podemos definir a condição na cláusula WHERE para recuperar os valores específicos.

Exemplo de DISTINTO

Primeiro, crie uma nova tabela na qual a palavra-chave Distinct será executada.

sincronização de thread

A consulta a seguir cria o Bicicleta_Detalhes tabela usando a instrução CREATE TABLE:

 CREATE TABLE Bike_Details ( Bike_Name varchar(100), Bike_Model INT, Bike_Color varchar(50), Bike_Cost INT ); 

As seguintes consultas SQL inserem o registro de novas bicicletas na tabela usando a instrução INSERT INTO:

 INSERT INTO Bike_Details VALUES (KTM DUKE, 2019, Black, 185000); INSERT INTO Bike_Details VALUES (royal Infield, 2020, Black, 165000); INSERT INTO Bike_Details VALUES (Pulsar, 2018, Red, 90000); INSERT INTO Bike_Details VALUES (Apache, 2020, White, 85000); INSERT INTO Bike_Details VALUES (Livo, 2018, Black, 80000); INSERT INTO Bike_Details VALUES (KTM RC, 2020, Red, 195000); 

Os registros da tabela acima são mostrados usando a seguinte consulta SELECT:

 SELECT * FROM Bike_Details; 

Bicicleta_Nome Bicicleta_Modelo Bicicleta_Cor Bicicleta_Custo
KTM DUQUE 2019 Preto 185.000
Real Enfield 2020 Preto 165.000
Imprensa 2018 Vermelho 90.000
Apache 2020 Branco 85.000
Ao vivo 2018 Preto 80.000
KTM RC 2020 Vermelho 195.000

Mesa: Bicicleta_Detalhes

A consulta SQL a seguir consulta os valores distintos da coluna Cor acima Bicicleta_Detalhes mesa:

 SELECT DISTINCT Bike_Color FROM Bikes ; 

Saída:

SQL CONTAGEM DISTINTA

Como podemos ver, Preto, Vermelho e Branco são três valores distintos na coluna Bike_Color.

Função de contagem com palavra-chave DISTINCT

A palavra-chave DISTINCT com a função COUNT na consulta SELECT exibe o número de dados exclusivos do campo da tabela.

A sintaxe da função de contagem com a palavra-chave DISTINCT é fornecida abaixo:

 SELECT COUNT(DISTINCT (Column_Name) FROM table_name WHERE [condition]; 

Exemplos de função de contagem com palavra-chave DISTINCT

Os dois exemplos SQL a seguir explicarão a execução da função Count com palavra-chave Distinct:

Exemplo 1:

A consulta a seguir cria a tabela College_Students com quatro campos:

Katrina Kaif
 CREATE TABLE College_Students ( Student_Id INT NOT NULL, Student_Name Varchar (40), Student_Age INT, Student_Marks INT ); 

A consulta INSERT a seguir insere o registro de alunos na tabela College_Students:

 INSERT INTO College_Students (Student_Id, Student_Name, Student_Age, Student_Marks) VALUES (101, Akhil, 28, 95), (102, Abhay, 27, 86), (103, Sorya, 26, 79), (104, Abhishek, 27, 66), (105, Ritik, 26, 79), (106, Yash, 29, 88); 

A consulta a seguir mostra os detalhes da tabela College_Students:

 SELECT * FROM College_Students; 

Identidade estudantil Nome do aluno Aluno_Idade Notas_Aluno
101 Akhil 28 95
102 Abhay 27 86
103 Sorya 26 79
104 Abhishek 27 66
105 Hrithik 26 79
106 Yash 29 88

Tabela: College_Students

A instrução SQL a seguir conta os valores exclusivos da coluna Student_Age da tabela College_Students:

 SELECT COUNT (DISTINCT (Student_Age) AS Unique_Age FROM College_Students ; 

Esta consulta fornecerá a tabela abaixo na saída:

SQL CONTAGEM DISTINTA

A saída mostra os quatro valores porque a coluna Teacher_age contém 4 valores exclusivos.

Exemplo 2:

A consulta a seguir cria a tabela IT_Employee com quatro campos:

 CREATE TABLE IT_Employee ( Employee_Id INT NOT NULL, Employee_Name Varchar (40), Emp_Age INT, Employee_Salary INT ); 

A consulta INSERT a seguir insere o registro dos funcionários de TI na tabela IT_Employee:

 INSERT INTO IT_Employee (Employee_Id, Employee_Name, Employee_Age, Employee_Salary) VALUES (101, Akhil, 28, 25000), (102, Abhay, 27, 26000), (103, Sorya, 26, 29000), (104, Abhishek, 27, 26000), (105, Ritik, 26, 29000), (106, Yash, 29, 25000); 

A consulta a seguir mostra os detalhes da tabela IT_Employee:

 SELECT * FROM IT_Employee; 

ID do Empregado Nome do empregado Funcionário_Idade Funcionário_Salário
101 Akhil 28 25.000
102 Abhay 27 26.000
103 Sorya 26 29.000
104 Abhishek 27 26.000
105 Hrithik 26 29.000
106 Yash 29 25.000

Tabela: IT_Employee

preg_match

A seguinte instrução SQL conta apenas os valores exclusivos da coluna Emp_Age da tabela IT_Employee acima:

 SELECT COUNT (DISTINCT (Employee_Age)) AS Unique_Age FROM IT_Employee ; 

Esta consulta fornecerá a saída abaixo:

SQL CONTAGEM DISTINTA