我有这样一张表
number name
123 张三
1234 李四
123 张三
456 李白
12345 杜甫要求的数据:
规则1:先去掉表中的重复数据(比如:1、3条数据重复,处理后应该为一条)
规则2:取前三位为123的记录
帮忙写个效率高的SQL
number name
123 张三
1234 李四
123 张三
456 李白
12345 杜甫要求的数据:
规则1:先去掉表中的重复数据(比如:1、3条数据重复,处理后应该为一条)
规则2:取前三位为123的记录
帮忙写个效率高的SQL
select * from
(select t.*, row_number() over(partition by number,name) rn from table t where regexp_like(name,'^123')
)
where rn = 1;
from mytable x
where my_number like '123%'
and rowid = (select min(rowid) from mytable where my_number=x.my_number and my_name=x.my_name);
where substr(number,1,3)='123'
就好了
where number like '123%'