2016-01-20 56 views
1

我正在嘗試執行查詢以獲取每個唯一用戶的第一個和最後一個時間戳。選擇用戶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查詢,將做到以下幾點:數場的每一個獨特的用戶

  • SUM。
  • 每個唯一用戶的第一行和最後一行之間的時差(以小時爲單位)。 我會想象如果我可以得到每個用戶的第一個和最後一個時間戳,我應該可以使用timediff獲得幾小時內的時間差。

到目前爲止,我已經得到了什麼:

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

任何幫助將不勝感激。

+0

'MAX(時間戳)'和'MIN(時間戳)'? – eggyal

+0

這當然比我工作時要複雜得多。 謝謝,這解決了我的問題。 – arvesynd

回答

0

事情是這樣的:

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