【问题标题】:Get either of the entry in duplicate records获取重复记录中的任一条目
【发布时间】:2014-05-19 21:11:14
【问题描述】:

这个问题是参考

Get specific entry in case of duplicate entry

现在在这种情况下,不同的值是user Id,其余的值相同。

|UserId | First name | Last name | IsRequired | IsDeleted |
     1        harry          tom        true         false
     3        harry          tom        true         false
     3        ram           sham      true         false

我需要这两个条目中的任何一个,但上面链接中提到的场景也应该是他们的..

预期结果

| UserId | First name | Last name | IsRequired | IsDeleted |
    1        harry          tom        true         false
    3        ram            sham       true         false

用户 ID 可以是 1 or 3

【问题讨论】:

    标签: sql sql-server-2008


    【解决方案1】:

    试试这个!

    create table users(UserId int, Firstname varchar(30), Lastname varchar(30), IsRequired varchar(5), IsDeleted varchar(5));
    
    insert into users values('1','harry','tom','true','false');
    insert into users values('1','harry','tom','false','false');
    insert into users values('3','ram','sham','true','false');
    
    select * from
    (
    select *,rn=ROW_NUMBER()over(partition by UserId order by Firstname desc) from users
    )x
    where x.rn=1
    

    See demo

    【讨论】:

    • 是的,解决方案可以代替名字 IsRequired 字段,如果放置效果很好
    猜你喜欢
    • 2012-02-12
    • 1970-01-01
    • 2022-12-15
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-08
    • 2018-11-25
    相关资源
    最近更新 更多