如何按2列计算记录数

时间:2016-08-02 07:59:40

标签: mysql

MySQL我有一张桌子。

示例:

id name type
1 Thomas 2
2 Thomas 2
3 Thomas 1
4   Paul 3
5   Paul 4
6   Paul 4

我需要按2列计算相同的记录。 此示例的结果应为:

name   type   countOfRecords
Thomas 2       2
Thomas 1       1
Paul   3       1
Paul   4       2

你可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

由于您希望结果集中包含每个名称的记录并键入<name,type>对 您需要按nametype进行分组。

SELECT 
name,
type,
COUNT(*) countOfRecords
FROM your_table
GROUP BY name,type;

注意:

Group BY <some column>会生成一个结果集,其中行数=不同/不同/唯一<some column> 的数量。

同样适用于GROUP BY子句中的多个列。

答案 1 :(得分:0)

这可能是正确的解决方案:

SELECT  name, type, COUNT(*) as countOfRecords
FROM your_table
GROUP BY name,type;