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:
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:
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:
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:
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:
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: