选择用户 ID 唯一的第一个和最后一个时间戳



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

数据库如下所示:

| 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

任何帮助将不胜感激。

像这样:

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

最新更新