首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server分组依据

问SQL Server分组依据
EN

Stack Overflow用户
提问于 2011-11-28 23:21:00
回答 4查看 476关注 0票数 0

我有一个表,其中包含一个引用和一个名称。有一些数据问题,其中有两个以上的不同名称的引用,这是不允许的。

有没有一个我可以编写的快速查询来查找所有具有1个以上相关名称的引用?

抱歉,我只是想澄清一下:

我可以有很多名字和引用,但每个引用只能有一个名称。如果有两个不同的名称与单个引用相关联,我需要显示这些名称。

EN

回答 4

Stack Overflow用户

发布于 2011-11-28 23:23:31

您可以按引用对其进行分组,然后选择具有多个的所有条目:

代码语言:javascript
复制
select reference, count(*) 
from myTable
group by reference
having count(*) > 1;
票数 1
EN

Stack Overflow用户

发布于 2011-11-28 23:27:52

查询:

代码语言:javascript
复制
SELECT reference, COUNT(name)
FROM @table
GROUP BY reference
HAVING COUNT(name) > 1

示例数据:

代码语言:javascript
复制
declare @table table(reference varchar(5), name int)
INSERT INTO @table values('Ref#1', 1)
INSERT INTO @table values('Ref#1', 2)
INSERT INTO @table values('Ref#2', 3)
INSERT INTO @table values('Ref#2', 3)
INSERT INTO @table values('Ref#3', 4)

输出:

代码语言:javascript
复制
| Ref#1 | 2 |
| Ref#2 | 2 |
票数 0
EN

Stack Overflow用户

发布于 2011-11-28 23:37:15

我是这样处理的:

代码语言:javascript
复制
SELECT ref, COUNT(name)
FROM table
GROUP BY ref
HAVING COUNT(DISTINCT(name)) > 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8298013

复制
相关文章

相似问题

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