【发布时间】:2014-01-21 15:21:37
【问题描述】:
我有一张表格,其中包含有关工人从事的工作类型和花费在工作上的小时数的信息。
例如。
work_id | user_id | work_type | hours_spent
-------------------------------------------------
1 | 1 | Maintain | 7
2 | 1 | sick | 4
3 | 1 | maintain | 3
4 | 1 | maintain | 6
5 | 2 | Web | 5
6 | 2 | Develop | 8
7 | 2 | develop | 5
8 | 3 | maintain | 5
9 | 3 | sick | 7
10 | 3 | sick | 7
我想计算每个用户在某类工作上花费的累计小时数,以显示如下内容:
user id | work_type | hours_spent
-----------------------------------
1 | maintain | 16
1 | sick | 4
2 | Web | 5
2 | develop | 13
3 | maintain | 5
3 | sick | 14
我现在使用的 sum() 函数返回 hours_spent 列中的所有小时数。这是我想要实现的正确功能吗?
我使用的是 SQL Server 2008 R2。
【问题讨论】:
-
您能否显示您现在正在使用的查询,该查询似乎无法提供您想要的结果?
-
我宁愿不这样做,因为这对我来说非常尴尬。我通过一个子查询来查找总小时数,从而使事情变得复杂......
-
嗯,我们曾经都是初学者。展示您的作品有助于我们更好地确定您的错误所在,并帮助您更快地学习。
-
我在访问权限中使用了一个公式来查找每个人在某种工作类型上花费的时间百分比,有没有办法获得每个用户在某项工作上花费的时间的总和?工作类型?
-
没关系,似乎我已经能够通过对每种工作类型使用子查询在 SQL 中做到这一点。结果与每条记录一起打印,但它有效!
标签: sql sql-server count sum