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