首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择没有重复数据的所有数据

选择没有重复数据的所有数据
EN

Stack Overflow用户
提问于 2013-06-18 01:37:49
回答 2查看 134关注 0票数 0

我在数据库中有一些数据:

名称@ Country = Status Mary连美国待定 简·日本待定 简·韩国待定 禤浩焯.中国.待决 彼得·新加坡待定 Jack马来西亚待定 禤浩焯_中国更新 简·日本

我可以知道如何使用SELECT查询来选择没有重复数据的所有数据吗?(如果存在重复数据,则只选择状态和更新)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-18 01:50:02

尝试:

代码语言:javascript
复制
SELECT Name, Country, MAX(Status) as Status FROM (
SELECT TOP 100 PERCENT *
FROM NameCountry
ORDER BY Name ASC, Country ASC, Status DESC
) G
GROUP BY G.Name, G.Country
ORDER BY G.Name, G.Country

检查我的演示

票数 1
EN

Stack Overflow用户

发布于 2013-06-18 01:41:45

从您的评论中,您似乎只表示前两列重复的数据。我认为,最简单的方法是使用row_number(),它可以在大多数数据库中使用:

代码语言:javascript
复制
select name, country, status
from (select t.*,
             row_number() over (partition by name, country
                                order by (case when status = 'Pending' then 0 else 1 end)
                               ) as seqnum
      from t
     ) t
where seqnum = 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17159351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档