sql求一条语句如何查询重复记录只显示重复的第一条记录?
iddatays1重复132重复123重复244重复25sqldata按重复运行显示结果如下:1重复132重复24...
id data ys
1 重复1 3
2 重复1 2
3 重复2 4
4 重复2 5
sql data按重复运行显示结果如下:
1 重复1 3
2 重复2 4 展开
1 重复1 3
2 重复1 2
3 重复2 4
4 重复2 5
sql data按重复运行显示结果如下:
1 重复1 3
2 重复2 4 展开
展开全部
不太明白你的意思,难道id是可变的??太恐怖了
这个行不行
select id,data,ys from tab where id in (select max(id) from tab group by data)
这个行不行
select id,data,ys from tab where id in (select max(id) from tab group by data)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的意思是说:如果有重复的,就取ID最小的那个记录,然后再重新为结果分配另外一个ID?
select row_number() over(order by b.minid) as nid,b.data,a.ys from biao a inner join (select data,min(id) as minid from biao group by data) b on a.id=b.minid
select row_number() over(order by b.minid) as nid,b.data,a.ys from biao a inner join (select data,min(id) as minid from biao group by data) b on a.id=b.minid
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样应该可以 你试下
select id,data,ys from table_name where data in (select distinct data from table_name)
select id,data,ys from table_name where data in (select distinct data from table_name)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用distinct可以达到你要的功能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大体格式,可根据自己情况加条件
select distinct * from tab tab1 where (select count(*) from tab tab2 where tab2.data=tab1.data)>1
select distinct * from tab tab1 where (select count(*) from tab tab2 where tab2.data=tab1.data)>1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询