Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mengalih keluar rekod pendua dalam Oracle

Bagaimana untuk mengalih keluar rekod pendua dalam Oracle

PHPz
PHPzasal
2023-04-17 09:19:462798semak imbas

Oracle ialah salah satu sistem pengurusan pangkalan data hubungan terbesar di dunia Fungsinya yang berkuasa dan pelbagai aplikasi menjadikannya bahagian yang amat diperlukan dalam aplikasi peringkat perusahaan. Dalam aplikasi ini, penyahduplikasian data adalah tugas biasa. Mengalih keluar rekod pendua boleh meningkatkan kualiti data dan mengurangkan ruang storan dan masa pertanyaan.

Dalam Oracle, anda boleh menggunakan berbilang kaedah untuk mengalih keluar rekod pendua:

  1. Kata kunci DISTINCT

Gunakan kata kunci DISTINCT untuk mengembalikan set hasil yang unik , yang bermaksud tidak akan ada sebarang rekod pendua. Sebagai contoh, pertanyaan berikut akan mengembalikan semua nama pelanggan yang berbeza:

PILIH NAMA_PELANGGAN YANG DISTINCT DARIPADA PELANGGAN;

  1. KUMPULAN OLEH klausa

KUMPULAN MENGIKUT klausa Digunakan untuk mengumpulkan dan mengembalikan satu baris untuk setiap kumpulan. Dengan menggabungkan beberapa lajur, anda boleh mencari nilai unik. Contohnya, pertanyaan berikut akan mengembalikan bilangan pelanggan di setiap bandar:

PILIH BANDAR, KIRA(*) DARI KUMPULAN PELANGGAN MENGIKUT BANDAR >

Oracle termasuk beberapa fungsi terbina dalam untuk menghapuskan rekod pendua , seperti:
  1. MIN(): Mengembalikan nilai minimum dalam kumpulan.

MAX(): Mengembalikan nilai maksimum dalam kumpulan.

    AVG(): Mengembalikan nilai purata dalam kumpulan.
  • SUM(): Mengembalikan jumlah nilai dalam kumpulan.
  • Pertanyaan berikut akan mengembalikan bilangan alamat unik dalam jadual pelanggan:
  • PILIH KIRA (ALAMAT BERBEZA) DARIPADA PELANGGAN;

Menggunakan tetingkap functions

Fungsi tetingkap ialah fungsi khas yang mengira nilai merentas keseluruhan set hasil dan bukannya baris individu. Gunakan fungsi tetingkap untuk menghapuskan rekod pendua sambil mengekalkan data asal.
  1. Pertanyaan berikut akan mengembalikan 20 rekod jualan terakhir yang diisih mengikut masa jualan tanpa mengekalkan sebarang rekod jualan pendua:
PILIH * DARI (

PILIH

DARI


) WHERE RN <= 20;
ROW_NUMBER() OVER(PARTITION BY SALE_DATE ORDER BY SALE_AMOUNT DESC) RN,
SALE_ID, 
SALE_AMOUNT, 
SALE_DATE

Ringkasan

SALES
Oracle mempunyai banyak kaedah untuk memadam rekod pendua, termasuk kata kunci DISTINCT, GROUP BY klausa, baris pendua fungsi penghapusan dan fungsi tingkap. Menggunakan kaedah ini boleh meningkatkan kualiti data dan mengurangkan ruang storan dan masa pertanyaan.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar rekod pendua dalam Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn