首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何返回表中的一个重复项

如何返回表中的一个重复项
EN

Stack Overflow用户
提问于 2013-10-09 13:45:27
回答 4查看 81关注 0票数 0

我有一个表,其中我有一个重复的记录,具有不同的名称,例如

代码语言:javascript
复制
id  classname
123 class1
123 unknown 

然后我也有一些只有唯一类名的标签,例如

代码语言:javascript
复制
id  classname
124  class2 
125  unknown 

所以现在我运行select查询,得到结果

代码语言:javascript
复制
id  classname
123 class1
123 unknown
124 class2
125 unknown 

我想以这样一种方式返回值,即选择其中一个重复项

代码语言:javascript
复制
id classnae
123 class1 
124 class2 
125 unknown

上面提到的就是我必须得到的结果。我使用了左外部连接来写这段代码。

代码语言:javascript
复制
select t.id,t.classname from Table1 t 
left outer join 
(select id,classname from Table1 GROUP BY id
  HAVING COUNT(id) > 1 ) 
s on s.Tagname = t.TagName 

但我得到的记录数量与我以前使用重复数据时获得的记录数量相同。

写这篇文章需要帮助

EN

Stack Overflow用户

发布于 2013-10-09 14:46:16

根据您对Szymon的回答的评论,尝试以下查询:

代码语言:javascript
复制
    select distinct id,
(select top 1 classname from table1 t2 where t2.id = t.id and classname!='unknown' order by case classname when 'unknown' then 0 else 1 end) classname
from Table1 t 

正如您所要求的::您不希望获取具有“未知”名称的类。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19264040

复制
相关文章

相似问题

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