用户的SQL和会话持续时间

时间:2015-04-01 23:35:34

标签: mysql sql

我有一个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语句的经验,有人可以在这里提供一些指导吗?

1 个答案:

答案 0 :(得分:5)

SELECT employee_ID, sum(session_duration)
FROM event_user_login
GROUP BY employee_ID;

您不需要嵌套选择或任何复杂的选择。您正在追逐的是一个非常简单的聚合查询。以上基本上是说:

给我所有的employee_ids,将它们分组,以便将相同的ID组合在一起,然后为每组id组合所有session_durations,然后返回每个组,以及该总和。