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

Bagaimana untuk menanyakan medan pendua dalam Oracle

WBOY
Lepaskan: 2022-01-21 11:41:33
asal
8052 orang telah melayarinya

Dalam Oracle, anda boleh menggunakan fungsi count() untuk menanyakan medan berulang Sintaks ialah "pilih * dari nama jadual di mana medan dalam (pilih medan daripada kumpulan nama jadual mengikut medan yang mempunyai kiraan (medan) > 1) ".

Bagaimana untuk menanyakan medan pendua dalam Oracle

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

Cara Oracle membuat pertanyaan untuk medan pendua

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. . Padam Rekod pendua dalam jadual 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 tambahan (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, 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 medan jadual), 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 Oracle"

Atas ialah kandungan terperinci Bagaimana untuk menanyakan medan 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