Master SQL berbeza: Memadam pendua memudahkan
SQL Kata kunci yang berbeza Penjelasan: Menghapuskan garis pendua dengan cekap
Kata kunci DISTINCT
dalam SQL digunakan terutamanya untuk menapis baris pendua dalam hasil pertanyaan untuk memastikan keunikan setiap baris data dalam set hasil yang dikembalikan.
Mekanisme kerja DISTINCT
SELECT
pertanyaan kadang -kadang mengembalikan hasil yang mengandungi baris pendua. Tujuan kata kunci DISTINCT
adalah untuk menghapuskan data yang berlebihan ini dan mengekalkan hanya satu baris rekod nilai unik untuk setiap set.
Tatabahasa
<code class="sql">SELECT DISTINCT column1, column2, ... FROM table_name;</code>
Contoh
1. Keluarkan nilai pendua
Katakan terdapat senarai pekerja yang dipanggil employees
:
PEMBERITAHUANID | jabatan |
---|---|
1 | Hr |
2 | ia |
3 | Hr |
4 | Jualan |
Lakukan pertanyaan berikut:
<code class="sql">SELECT DISTINCT department FROM employees;</code>
Hasilnya:
jabatan |
---|
Hr |
ia |
Jualan |
Seperti yang anda lihat, jabatan "HR" pendua telah dikeluarkan.
2. Pilih gabungan yang unik
Pertimbangkan jadual pesanan lain yang dipanggil orders
:
OrderId | CustomerID | ProductID |
---|---|---|
101 | 1 | a |
102 | 1 | b |
103 | 1 | a |
104 | 2 | c |
Lakukan pertanyaan berikut:
<code class="sql">SELECT DISTINCT CustomerID, ProductID FROM Orders;</code>
Hasilnya:
CustomerID | ProductID |
---|---|
1 | a |
1 | b |
2 | c |
DISTINCT
menghilangkan baris pendua mengikut gabungan customerid
dan productid
.
Senario aplikasi DISTINCT
- Dapatkan Nilai Unik : Apabila anda perlu mencari semua nilai unik dalam lajur atau gabungan lajur. Sebagai contoh, senaraikan semua kategori produk yang berbeza dalam pangkalan data.
- Keluarkan data yang berlebihan : Dalam analisis data atau pelaporan, jika baris pendua tidak diperlukan. Sebagai contoh, dapatkan nama jabatan yang unik dari jadual pekerja.
- Pembersihan Data : Digunakan untuk membersihkan set data dan mengeluarkan data pendua.
Batasan DISTINCT
- Kesan Prestasi :
DISTINCT
meningkatkan masa pelaksanaan pertanyaan, terutamanya pada dataset yang besar, kerana ia memerlukan pengimbasan dan membandingkan semua baris. - Deduplikasi bersyarat tidak dapat dicapai : Jika anda perlu mengeluarkan data pendua berdasarkan keadaan tertentu (mis., Memelihara baris terkini setiap nilai unik), anda perlu menggunakan teknik lain, seperti fungsi
ROW_NUMBER()
.
Petua untuk menggunakan DISTINCT
-
DISTINCT
hanya jika perlu, kerana ia akan menjejaskan prestasi. - Untuk operasi deduplikasi yang kompleks, pertimbangkan untuk menggunakan fungsi agregat (
GROUP BY
) atau fungsi analisis sebagai alternatif.
Meringkaskan
Kata kunci DISTINCT
adalah alat ringkas dan berkuasa dalam SQL untuk menghapuskan baris pendua dalam hasil pertanyaan, dengan itu memastikan keunikan data hasil. Apabila menggunakannya, kesan prestasi harus ditimbang dan teknologi yang sesuai harus dipilih mengikut keperluan sebenar.
Atas ialah kandungan terperinci Master SQL berbeza: Memadam pendua memudahkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

SUM dalam Oracle digunakan untuk mengira jumlah nilai bukan nol, manakala COUNT mengira bilangan nilai bukan nol semua jenis data, termasuk nilai pendua.

Fungsi agregat dalam SQL digunakan untuk mengira dan mengembalikan nilai tunggal untuk set baris. Fungsi pengagregatan biasa termasuk: Fungsi pengagregatan berangka: COUNT(), SUM(), AVG(), MIN(), MAX() Fungsi pengagregatan set baris: GROUP_CONCAT(), FIRST(), LAST() Fungsi pengagregatan statistik: STDDEV ( ), VARIANCE() fungsi agregat pilihan: COUNT(DISTINCT), TOP(N)

Fungsi SQL SUM mengira jumlah set nombor dengan menambahkannya bersama-sama. Proses operasi termasuk: 1. Mengenal pasti nilai input 2. Menggelung nilai input dan menukarnya kepada nombor 3. Menambah setiap nombor untuk mengumpul hasil jumlah;

Fungsi COUNT dalam Oracle digunakan untuk mengira nilai bukan nol dalam lajur atau ungkapan tertentu Sintaks ialah COUNT(DISTINCT <column_name>) atau COUNT(*), yang mengira bilangan nilai unik dan semua bukan. -nilai nol masing-masing.

Fungsi AVG() MySQL digunakan untuk mengira purata nilai berangka. Ia menyokong pelbagai kegunaan, termasuk: Kira kuantiti purata semua produk yang dijual: PILIH AVG(kuantiti_jualan) DARI jualan Hitung harga purata: AVG(harga) Kira purata volum jualan: AVG(kuantiti_harga *). Fungsi AVG() mengabaikan nilai NULL, gunakan IFNULL() untuk mengira purata nilai bukan nol.

Fungsi SUM() dalam SQL digunakan untuk mengira jumlah lajur berangka. Ia boleh mengira jumlah berdasarkan lajur, penapis, alias, pengelompokan dan pengagregatan berbilang lajur yang ditentukan, tetapi hanya mengendalikan nilai angka dan mengabaikan nilai NULL.

SC bermaksud SELECT COUNT dalam SQL, fungsi agregat yang digunakan untuk mengira bilangan rekod sama ada syarat dipenuhi atau tidak. Sintaks SC: SELECT COUNT(*) AS record_count FROM table_name WHERE keadaan, dengan COUNT(*) mengira bilangan semua rekod, table_name ialah nama jadual dan syarat ialah syarat pilihan (digunakan untuk mengira bilangan rekod yang memenuhi keadaan).

Data berkumpulan boleh diisih menggunakan GROUP BY dan ORDER BY: 1. GROUP BY kumpulan data 2. ORDER BY mengisih setiap kumpulan data.
