在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
你可以帮我解决这个问题吗?
答案 0 :(得分:1)
由于您希望结果集中包含每个名称的记录并键入<name,type>
对
您需要按name
和type
进行分组。
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;