什么是最简单的SQL语句,该语句将返回给定列的重复值及其在Oracle数据库表中的出现次数?例如:我有一个JOBS带有列的表JOB_NUMBER。如何确定是否有重复JOB_NUMBER的,以及它们被重复了多少次?
3 回答

紫衣仙女
TA贡献1839条经验 获得超15个赞
SELECT column_name, COUNT(column_name)
FROM table_name
GROUP BY column_name
HAVING COUNT(column_name) > 1;

狐的传说
TA贡献1804条经验 获得超3个赞
其他方式:
SELECT *
FROM TABLE A
WHERE EXISTS (
SELECT 1 FROM TABLE
WHERE COLUMN_NAME = A.COLUMN_NAME
AND ROWID < A.ROWID
)
上有索引时,工作正常(足够快)column_name。这是删除或更新重复行的更好方法。

米琪卡哇伊
TA贡献1998条经验 获得超6个赞
我能想到的最简单的方法是:
select job_number, count(*)
from jobs
group by job_number
having count(*) > 1;
添加回答
举报
0/150
提交
取消