Hitung Kombinasi Berbeda pada Banyak Kolom di SQL

Hitung Kombinasi Berbeda Pada Banyak Kolom Di Sql



Saat bekerja dalam database SQL, Anda mungkin menemukan contoh di mana Anda harus menemukan nilai yang berbeda dari tabel yang diberikan dan menghapus nilai duplikat. Dalam kebanyakan kasus, kami terutama menggunakan klausa yang berbeda untuk menentukan kolom yang nilainya adalah apa yang kami ingin menjadi unik.

Namun apa yang terjadi jika Anda ingin memastikan bahwa nilai dari banyak kolom adalah unik dan tidak ada duplikat?







Dalam tutorial ini, kita akan mempelajari cara menggunakan fitur SQL untuk memilih dua kolom atau lebih dan memastikan bahwa nilainya berbeda.



Masalah:

Misalkan kita memiliki tabel dengan banyak kolom dan kita ingin menghitung jumlah kombinasi nilai yang berbeda di seluruh kolom ini.



Misalnya, mari pertimbangkan tabel data penjualan dengan kolom customer_id, product_id, dan date. Kami ingin menghitung jumlah kombinasi unik dari customer_id dan product_id.





Hitung Kombinasi Berbeda pada Banyak Kolom di SQL

Kita dapat menghitung jumlah kombinasi berbeda di beberapa kolom menggunakan klausa COUNT DISTINCT dan fungsi CONCAT di SQL.

Fungsi CONCAT memungkinkan kita menggabungkan dua nilai atau lebih menjadi satu nilai yang kemudian dapat kita gunakan untuk membandingkan dan menghitung.



Kami dapat mengilustrasikan ini dengan lebih baik menggunakan sintaks berikut:

PILIH JUMLAH ( CONCAT BERBEDA ( kolom1, kolom2 ) )
DARI nama_tabel;


Dalam hal ini, column1 dan column2 merujuk ke kolom yang ingin kita gabungkan saat menghitung dan table_name merujuk ke nama tabel target.

Mari kita ambil contoh tabel:

BUAT TABEL penjualan (
pengenal KUNCI UTAMA INT,
customer_id INT,
product_id INT,
tanggal TANGGAL
) ;

MASUKKAN KE NILAI PENJUALAN
( 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' ) ;


Tabel Hasil:


Untuk menentukan jumlah kombinasi unik dari kolom customer_id dan product_id dari tabel sebelumnya, kita dapat menggunakan query sebagai berikut:

PILIH JUMLAH ( CONCAT BERBEDA ( ID Pelanggan, '-' , ID Produk ) ) sebagai hasil
DARI penjualan;


Dalam kueri sebelumnya, kami menggunakan klausa yang berbeda dan fungsi concat untuk menggabungkan nilai customer_id dan product_id dengan tanda hubung. Ini harus membuat satu nilai untuk setiap kombinasi seperti yang ditunjukkan berikut ini:


Dari sini, kita dapat menggunakan fungsi hitung untuk menghitung kombinasi unik dari tabel yang dihasilkan.

Kesimpulan

Kami harap tutorial ini membantu Anda. Dalam posting ini, Anda menemukan cara menggabungkan klausa yang berbeda, fungsi concat(), dan klausa count untuk menentukan nilai unik dari beberapa kolom tabel SQL.