求一个多列去重SQL的修改

忽而以冬 2022-12-19 14:40:58

这是我写完的按照两列去重其他列保留原始数据的语句,查出来是42条

 但是单独运行where那一句,去重完应该是41行,有没有大佬帮忙看下我这语句那点有问题,三克油

 

...全文
117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2022-12-19
  • 打赏
  • 举报
回复

你没有完整的表结构和测试数据,所以不想看了。
弄了一个和你需求差不多的,你自己来看看吧,看明白了再改写你那个很轻松的。

use tempdb
go
if object_id('t') is not null
drop table t
go
create table t(
    c1 int,
    c2 int,
    c3 nvarchar(10),
    c4 varchar(10)
)
go
insert into t values(1,2,'abc','def')
insert into t values(1,2,'abc','deg')
insert into t values(3,4,'abc','deg')
insert into t values(3,5,'abc','deg')

select * from (
    select row_number() over(partition by c1,c2 order by c3,c4) as rid,t.* 
    from t 
) as tt
where tt.rid=1
/*
rid    c1    c2    c3    c4
1    1    2    abc    def
1    3    4    abc    deg
1    3    5    abc    deg
*/
忽而以冬 2022-12-20
  • 举报
回复
@吉普赛的歌 谢谢大佬,成功解决
忽而以冬 2022-12-19
  • 打赏
  • 举报
回复

我现在表里一共就42条数据,BoardSN和CompName这两列重复的有一条数据,意思就是我这语句没生效..

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧