Oracle - SQL开发人员使用count查询

时间:2014-12-08 04:11:58

标签: oracle

我有一个名为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;

但是,查询结果给出了一个错误说:"不是单组组功能"

4 个答案:

答案 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活动