2015-04-06 42 views
0

我有一個簡單的表段組一個記錄:取得每個發出的命令

+--------------------------+ 
|  `actions`   | 
+----+--------+------------+ 
| id | person | time  | 
+----+--------+------------+ 
| 1 | Mark | 22:00  | 
+----+--------+------------+ 
| 2 | Paul | 19:00  | 
+----+--------+------------+ 
| 3 | Mark | 17:00  | 
+----+--------+------------+ 
| 4 | Paul | 08:00  | 
+----+--------+------------+ 
| 5 | Paul | 23:00  | 
+----+--------+------------+ 

我想執行一個查詢,person列,然後返回的只有最早timeid。所以結果應該是這個樣子:

+----+--------+------------+ 
| 3 | Mark | 17:00  | 
+----+--------+------------+ 
| 4 | Paul | 08:00  | 
+----+--------+------------+ 

我不認爲這是一個艱難的查詢,但由於某種原因,我根本無法得到它。

+0

「時間」列的數據類型是什麼? – 2015-04-06 04:47:47

+0

我已經在下面回答了我自己的問題。對於我現實生活中的例子,它是日期時間。我只是展示了這個例子的時間來簡化它,認爲它足以傳達這個概念。 – Bing 2015-04-06 04:49:57

回答

2

想通了:

SELECT id, person, MIN(time) FROM actions GROUP BY person;

變化MINMAX只搶到最大的。