选择userID唯一的第一个和最后一个时间戳

时间:2016-01-20 17:23:27

标签: mysql

我尝试进行查询以获取每个唯一身份用户的第一个和最后一个时间戳。

数据库看起来像这样:

| ID | EventID |      Timestamp      | Person | Number | 
--------------------------------------------------------
| 1  |    2    | 2015-01-08 17:31:40 |   7    |   5    |
| 2  |    2    | 2015-01-08 17:35:40 |   7    |   4    |
| 3  |    2    | 2015-01-08 17:38:40 |   7    |   7    |
--------------------------------------------------------

我试图整理一个MySQL查询,它将执行以下操作:

  • 每个唯一身份用户的数字字段的总和。
  • 每个唯一身份用户的第一行和最后一行之间的时差(以小时为单位)。 我想如果我能得到每个用户的第一个和最后一个时间戳,我应该可以使用timediff来获得几小时的时差。

到目前为止我得到了什么:

SELECT 
  person,
  SUM(number) AS 'numbers_all_sum'
FROM database
WHERE eventid = 2
GROUP BY person
ORDER BY numbers_all_sum DESC

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这样的事情:

SELECT
  Person
  MIN(Timestamp),
  MAX(Timestamp),
  SUM(number) AS 'numbers_all_sum'
FROM database
WHERE eventid = 2
GROUP BY person