SQL - 查找以相同字符开头的行

时间:2014-05-20 18:10:13

标签: sql database oracle

我有一个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

1 个答案:

答案 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;