我有一个包含以下列的表:
Team
Region
Person
Name
我希望SQL报告为每个团队/区域(groupby Team,Region)组合生成一行,并向我显示该团队和区域存在的人员总数。一个建议是让一个值为1的列对它们进行总和,但必须有一个更简单的解决方案。如何计算此输出中的人?
答案 0 :(得分:1)
select
Team,
Region,
count(distinct Person)
from mytable
group by 1,2
答案 1 :(得分:0)
select Team,
Region,
count(*) as PersonCount
from YourTable
group by Team, Region
答案 2 :(得分:0)
SELECT Team, Region, COUNT(*)
FROM Table
GROUP BY Team, Region
应该工作得很好,除非我遗漏了什么。
答案 3 :(得分:0)
select Team, Region, Count(Team) as PeopleCount
from YourTable
group by Team, Region
应该这样做。请注意,有些人可能会建议Count(全部)。不习惯使用Count(全部)IMO是一种不好的做法。如果表中有索引列,请始终在Count()中使用该列。然后你的查询会更快,因为根据索引的创建方式,你的查询可能最终只使用索引而不是触摸表。