我有一个oracle数据库,其中包含一个表,该表可能以相同的前缀开头,并希望找到表中某处有5位前缀重复的行。 例如:
Table1
---------------
12345-brsd
12345-wbgb
12345-ydad
34573-diwe
75234-daie
72456-woei
72456-wdgq
我想只返回前5位数字重复的那些,所以在这个样本之外:
12345-brsd
12345-wbgb
12345-ydad
72456-woei
72456-wdgq
答案 0 :(得分:2)
您可以使用分析函数执行此操作:
select t.*
from (select t.*, count(*) over (partition by substr(column, 1, 5)) as cnt
from table t
) t
where cnt > 1
order by column1;