需要查询两个字段的不同组合,以及出现不同组合的计数

Posted

技术标签:

【中文标题】需要查询两个字段的不同组合,以及出现不同组合的计数【英文标题】:Need to query distinct combination of two fields, along with a count that distinct combination occurs 【发布时间】:2016-03-08 13:08:16 【问题描述】:

我需要的是对表的查询,该查询将返回 A 列和 B 列的不同组合,以及每个组合在表中出现的次数。这将全部按 A 列排序。

如果表格是:

A    B  .......
1    1
1    1
1    1
1    2
2    1
2    1

结果是:

A    B     count
1    1       3
1    2       1
2    1       2

任何帮助都会很棒。

【问题讨论】:

google 并了解 group by 的工作原理 我注意到您的表没有主键 - 这可能会进一步证明有问题 【参考方案1】:

GROUP BY 是你的朋友:

select a,b,count(*) from test
group by a,b
order by a

SQLFiddle:http://sqlfiddle.com/#!9/062b0e/5

【讨论】:

【参考方案2】:

像这样使用GROUP BY

SELECT
    `A`,
    `B`,
    COUNT(*) AS `Count`
FROM
    `table`
GROUP BY
    `A`, `B`
ORDER BY
    `A`

【讨论】:

以上是关于需要查询两个字段的不同组合,以及出现不同组合的计数的主要内容,如果未能解决你的问题,请参考以下文章

Qlik 从多个字段中获得不同的计数

组合两个查询集,具有不同值的公共字段

如何在一个 SQL Server 查询中组合不同的计数

Google BigQuery:如何查询两个不同值之间的共享值计数?

SQL - 计算包含两个不同字段的行数

结合两个查询并获得计数的总和