首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从两列中查找不同的值

问从两列中查找不同的值
EN

Stack Overflow用户
提问于 2014-07-24 18:20:34
回答 2查看 43关注 0票数 0

我有张桌子像这样..。

代码语言:javascript
复制
A        B
100      423
100      423
323      123
323      153
323      153
521      321
521      321
321      321

如何编写查询,使其只获得唯一的A和B?我希望结果看起来像这样。

代码语言:javascript
复制
A        B
100      423
323      123
323      153
521      321
321      321

到目前为止,我只能使用

代码语言:javascript
复制
select * from ABtable group by A

这给

代码语言:javascript
复制
A        B
100      423
323      123
521      321

或者..。

代码语言:javascript
复制
select * from ABtable group by B

会回来

代码语言:javascript
复制
A        B
100      423
323      123
323      153
321      321

但不是两者都是。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-24 18:22:29

你可以按多列分组..。

代码语言:javascript
复制
Select *
From   ABTable
Group By A, B

根据表定义和可能的where/ using子句,您可能会看到使用distinct来稍微提高性能

代码语言:javascript
复制
Select Distinct A, B
From   ABTable

基准和决定。

票数 0
EN

Stack Overflow用户

发布于 2014-07-24 18:22:37

要有不同的行,您需要执行以下操作

代码语言:javascript
复制
SELECT DISTINCT *
FROM ABTABLE

若要按A进行分组,需要为B选择一个聚合函数,如SUM、AVG、MAX、MIN、COUNT等。在您的输出示例中,您使用的是MIN,然后查询如下:

代码语言:javascript
复制
SELECT A, MIN(B)
FROM ABTABLE
GROUP BY A

如果要计数B元素,请使用:

代码语言:javascript
复制
SELECT A, COUNT(B)
FROM ABTABLE
GROUP BY A

它将返回B中与NULL不同的元素数。

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

https://stackoverflow.com/questions/24941207

复制
相关文章

相似问题

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