2016-01-13 69 views
0

我使用的查詢:MySQL的,獨特的和最近的

SELECT distinct player, date, (health_base + mana_base * 2) as vit FROM dadb.player_attributes order by vit desc 

,並得到以下結果:

# player  date,     vit 
----------------------------------------------- 
'Greenslade', '2016-01-12 14:05:03', '1208252' 
'Greenslade', '2016-01-12 14:05:04', '1208252' 
'Greenslade', '2016-01-12 14:07:46', '1208252' 
'Greenslade', '2016-01-12 14:07:47', '1208252' 
'Pheresis', '2016-01-12 13:45:54', '924164' 
'Pheresis', '2016-01-12 13:45:55', '924164' 
'Pheresis', '2016-01-12 13:48:55', '924164' 
'Pheresis', '2016-01-12 13:48:56', '924164' 
'Pheresis', '2016-01-12 13:48:57', '924164' 
'Pheresis', '2016-01-12 14:04:00', '924164' 
'Pheresis', '2016-01-12 14:04:01', '924164' 

我怎樣才能使它所以我SQL查詢返回的只有一名選手,日期,維生素; 爲每個不同的球員與最近的日期?

我希望我的輸出是:

# player  date,     vit 
----------------------------------------------- 
'Greenslade', '2016-01-12 14:07:47', '1208252' 
'Pheresis', '2016-01-12 14:04:01', '924164' 

我該怎麼辦呢?

+0

**選擇不同的**認爲所有值在一排,如果有這些值以任何方式在所有其他一些列不同的,那麼它是不同的。就是這樣。減少行數要求分組 –

回答

2

您只需聚集:

select player, max(date), max(health_base + mana_base * 2) as vit 
from t 
group by player 
order by vit desc; 
+0

謝謝。 – Dean

+0

通過閱讀您的答案,我瞭解了MAX()的概念... +1 – Shafizadeh