我有一个MySQL数据库表 event_user_login ,其结构如下:
+---------------+-----------------------------+
| employee_ID | date |session_duration|
+---------------------------------------------+
| 55707 | 2015-04-01 | 20 |
| 55707 | 2015-04-01 | 10 |
| 44251 | 2015-04-01 | 5 |
| 55707 | 2015-04-02 | 10 |
| 44211 | 2015-04-02 | 20 |
+---------------+------------+----------------+
employee_ID列的类型为int。日期是日期类型。 session_duration的类型为int。
我希望运行一个SQL语句来返回DISTINCT employee_ID,以及该员工的session_durations的总和。
e.g result
+-----------+------------+
| 55707 | 40 |
| 44251 | 5 |
| 44211 | 20 |
+-----------+------------+
我没有使用嵌套SELECT语句的经验,有人可以在这里提供一些指导吗?
答案 0 :(得分:5)
SELECT employee_ID, sum(session_duration)
FROM event_user_login
GROUP BY employee_ID;
您不需要嵌套选择或任何复杂的选择。您正在追逐的是一个非常简单的聚合查询。以上基本上是说:
给我所有的employee_ids,将它们分组,以便将相同的ID组合在一起,然后为每组id组合所有session_durations,然后返回每个组,以及该总和。