1
我有一張表,每個玩家存儲前三名高分。示例數據是:MySQL:每個人只取得一個具有最高價值的行
id player_id score score_date
------------------------------------------------------
1 100 1100 2015-10-10
2 101 1750 2015-10-07
3 100 3200 2015-10-10
4 102 4100 2015-10-10
5 101 3000 2015-10-01
我如何編寫一個查詢,將獲取我每個球員的最高得分紀錄特定日期?說我的日期是2015-10-10
,結果我要的是:
player_id score date
------------------------------------------------------
100 3200 2015-10-10
102 4100 2015-10-10
如果你注意到,在player 100
對上述日期兩個分數。我想:
select * from player
where date(score_date) = date('2015-10-10')
group by player_id
但它給了我1100
作爲得分player 100
,但正確的值是3200
。我也嘗試添加ORDER by score DESC limit 1
結束上述查詢,但隨後的結果只是奇怪...
我希望在這樣的MySQL大師們將在我的憐憫和幫助......
這是除了選擇id字段外,因爲它不會返回正確的。但看到OP不需要它,他會沒事的。 – Andrius
謝謝你,那工作:)不幸的是,我錯誤地框了我的問題,需要做更多的東西...所以讓我張貼作爲一個不同的問題。 –
只是爲了利益的緣故,你能在這裏發佈一個鏈接到新的問題嗎? –