我有一个名为ACTIVITIES的表:
Name Activity Minutes
JOSE videogames 50
MARISSA videogames 50
TINA CHESS 90
JAKE CHESS 95
对于表格中的每项活动,我如何计算该活动的人数?我想在查询中打印活动,计数和分钟总和。
我尝试过零件和工作这是我的尝试:
SELECT Distinct(Activity), count(Activity) as Total
FROM ACTIVITIES;
但是,查询结果给出了一个错误说:"不是单组组功能"
答案 0 :(得分:1)
您可以使用group by子句首先按活动对表进行分组,然后执行计数和总和。例如:
SELECT count(*), sum(NUMOFMINUTES), Activity
FROM activities
GROUP BY activity
答案 1 :(得分:0)
使用group by
获取每项活动的计数/总和,如下所示:
select activity, count (activity) as totalcount, sum(minutes) as totalminutes
from activities
group by activity
如果要获取某些聚合值(例如特定值的计数),首先需要根据该列的不同值将数据分组到子集中。这就是错误消息所指的内容。请注意,按活动分组时,记录会考虑并仅显示活动的不同值,因此您不需要使用distinct
关键字。
答案 2 :(得分:0)
每当你使用任何agreegate函数并检索另一个你没有执行同意的字段时,你必须使用group by子句与non-agreegate字段。所以按活动添加'在查询结束时。
答案 3 :(得分:0)
试试这个 SELECT DISTINCT(Activity),COUNT(Activity)AS Total FROM ACTIVITIES GROUP BY活动