Rumah > pangkalan data > Oracle > Bagaimana untuk menanyakan data pendua dalam oracle

Bagaimana untuk menanyakan data pendua dalam oracle

WBOY
Lepaskan: 2022-02-28 11:14:44
asal
39623 orang telah melayarinya

Dalam Oracle, anda boleh menggunakan fungsi count() dengan pernyataan pertanyaan pilih untuk menanyakan data berulang Sintaks ialah "pilih Kod pengguna daripada kumpulan pengguna mengikut kod pengguna yang mempunyai bilangan(Kod pengguna)>1".

Bagaimana untuk menanyakan data pendua dalam oracle

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.

Cara untuk menanyakan data pendua dalam oracle

1 Cari rekod pendua yang berlebihan dalam jadual dinilai berdasarkan satu medan (Kod pengguna)

select 
    * 
from 
    user
where 
    userCode
in 
    (select  userCode  from  user group by  userCode having count (userCode) > 1)
Salin selepas log masuk

. 2. Padamkan rekod pendua berlebihan dalam jadual Rekod pendua dinilai berdasarkan satu medan (Kod pengguna), hanya meninggalkan rekod dengan rowid terkecil

delete from 
    user 
where 
    userCode 
in 
    (select userCode from user group by  userCode having count (peopleId) > 1)
and rowid not in 
    (select min(rowid) from   user group by userCode having count(userCode)>1)
Salin selepas log masuk

3. Cari rekod pendua berlebihan (berbilang medan) dalam jadual

select 
    * 
from 
    user a
where 
    (a.userCode,a.userName) 
in  
    (select userCode,userName from user group by userCode,userName having count(*) > 1)
Salin selepas log masuk

4 Padamkan rekod pendua berlebihan (berbilang medan) dalam jadual, hanya tinggalkan rekod dengan rowid terkecil

delete from 
    user a
where
    (a.userCode,a.userName) 
in   
    (select userCode,userName from user group by userCode,userName having count(*) > 1)
and rowid not in 
    (select min(rowid) from user group by userCode,userName having count(*)>1)
Salin selepas log masuk

5 dalam jadual ( Pelbagai medan), tidak termasuk rekod dengan rowid terkecil

select 
    * 
from 
    user a
where 
    (a.userCode,a.userName)  
in   
    (select userCode,userName from user group by userCode,userName having count(*) > 1)
and rowid not in 
    (select min(rowid) from user group by userCode,userName having count(*)>1)
Salin selepas log masuk

Tutorial yang disyorkan: "Tutorial Video Oracle"

Atas ialah kandungan terperinci Bagaimana untuk menanyakan data pendua dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan