Conte as combinações distintas em várias colunas no SQL

Conte As Combinacoes Distintas Em Varias Colunas No Sql



Ao trabalhar em bancos de dados SQL, você pode encontrar instâncias em que deve encontrar os valores distintos de uma determinada tabela e remover os valores duplicados. Na maioria dos casos, usamos principalmente a cláusula distinta para especificar a coluna cujos valores desejamos que sejam únicos.

Mas o que acontece quando você deseja garantir que os valores de várias colunas sejam exclusivos e não haja duplicatas?







Neste tutorial, aprenderemos como usar os recursos do SQL para selecionar duas ou mais colunas e garantir que seus valores sejam distintos.



Problema:

Suponha que temos uma tabela com várias colunas e queremos contar o número de combinações distintas de valores nessas colunas.



Por exemplo, vamos considerar uma tabela de dados de vendas com as colunas customer_id, product_id e date. Queremos contar o número de combinações exclusivas de customer_id e product_id.





Conte as combinações distintas em várias colunas no SQL

Podemos contar o número de combinações distintas em várias colunas usando a cláusula COUNT DISTINCT e a função CONCAT no SQL.

A função CONCAT nos permite concatenar dois ou mais valores em um único valor que podemos usar para comparar e contar.



Podemos ilustrar melhor isso usando a seguinte sintaxe:

SELECIONE A CONTAGEM ( CONVITE DISTINTO ( coluna1, coluna2 ) )
FROM nome_da_tabela;


Nesse caso, column1 e column2 referem-se às colunas que desejamos concatenar durante a contagem e table_name refere-se ao nome da tabela de destino.

Vamos pegar uma tabela de exemplo:

CREATE TABLE vendas (
eu ia CHAVE PRIMÁRIA INT,
id_cliente INT,
product_id INT,
data DATA
) ;

INSERIR NOS VALORES DE VENDAS
( 1 , 100 , 1 , '2023-05-01' ) ,
( 2 , 101 , 1 , '2023-05-02' ) ,
( 3 , 100 , 2 , '2023-05-02' ) ,
( 4 , 102 , 3 , '2023-05-03' ) ,
( 5 , 101 , 2 , '2023-05-03' ) ,
( 6 , 103 , 2 , '2023-05-04' ) ,
( 7 , 100 , 3 , '2023-05-04' ) ,
( 8 , 102 , 1 , '2023-05-05' ) ,
( 9 , 101 , 3 , '2023-05-05' ) ,
( 10 , 103 , 1 , '2023-05-06' ) ;


Tabela resultante:


Para determinar o número de combinações exclusivas das colunas customer_id e product_id da tabela anterior, podemos usar a consulta da seguinte forma:

SELECIONE A CONTAGEM ( CONVITE DISTINTO ( Identificação do Cliente, '-' , ID do produto ) ) como resultado
DE vendas;


Na consulta anterior, usamos a cláusula distinta e a função concat para concatenar os valores de customer_id e product_id com um hífen. Isso deve criar um único valor para cada combinação, conforme mostrado a seguir:


A partir daqui, podemos usar a função de contagem para contar as combinações únicas da tabela resultante.

Conclusão

Esperamos que este tutorial tenha ajudado você. Nesta postagem, você descobriu como combinar a cláusula distinta, a função concat() e a cláusula de contagem para determinar os valores exclusivos de várias colunas da tabela SQL.