SQL总和基于多个值的输出

时间:2013-04-04 03:11:39

标签: sql sqlite

如何使用一个sql命令获取显示此表中多个名称的sum(hours)的输出?

理想输出例如(20,70)基于下表,该表将是该日期每个人的总和小时数。

当前SQL。

SELECT sum(hours) from project_time where date = '04/07/2013' AND name = 'Rhys Parker'

上面的sql给出了我想要的结果,但它只针对一个用户,我想在那个日期获得所有用户的输出。

数据库表:

db table

数据库结构:SQLITE

CREATE TABLE PROJECT_TIME ( name VARCHAR(16), date DATE, project VARCHAR(16), hours VARCHAR(16), PRIMARY KEY (name, project, date))

4 个答案:

答案 0 :(得分:3)

您将添加GROUP BY。使用聚合函数和GROUP BY将为表格中的每个DISTINCT名称提供结果:

SELECT name, sum(hours) TotalHours
from project_time 
where date = '04/07/2013'
GROUP BY name

请参阅SQL Fiddle with Demo

答案 1 :(得分:2)

听起来你应该使用GROUP BY

SELECT name, sum(hours) 
FROM project_time 
WHERE date = '04/07/2013' 
GROUP BY name

这将为您提供每个名称的小时数:

Rhys Parker 70
Bob Smith   20

SQL Fiddle Demo

答案 2 :(得分:2)

你想要一个小组:

SELECT name, sum(hours)
from project_time
where date = '04/07/2013'
group by name

答案 3 :(得分:1)

只是提供一个替代方案,如果您想要所有日期,请

  SELECT name,date, sum(hours) as TotalHours
   from project_time 
    GROUP BY name,date;