我需要計算每玩家的最近3個得分(高爾夫回合)的平均得分。如果它對代碼/語法很重要,那麼只有當它們至少有3個分數時才需要。mysql選擇3個最近的得分,然後平均爲
我有了這些領域的一個觀點:
round_id
player_id
score
round_date
隨着新的分數輸入到數據庫中,我想跟蹤和通知。我認爲我的選擇將保持在數據庫內(以某種方式)或生成適當的PHP代碼來做等效。但考慮到保持在數據庫本身內部,它可以/更好地處理新的數據插入/更新。 PHP將有一個頁面需要加載才能執行。
我見過嵌套select語句的一些例子,有些具有mysql變量(我基本的sql技巧,並沒有真正進入變量,所以需要解釋)。似乎沒有直接關係到我的具體需求。
由於
這基本上是一個規範。我們在SO不是一個免費的編碼資源。如果你做了一些研究,然後去做,但是沒有把它完全弄清楚,那麼我們非常樂意提供幫助。 – RiggsFolly
請參閱http://stackoverflow.com/questions/2129693/mysql-using-limit-within-group-by-to-get-n-results-per-group瞭解如何獲得前三名的成績。把它放在一個子查詢中,然後在主查詢中使用'AVG()'來得到平均值。 – Barmar
@Barmar find_in_set在這裏並不適用,據我所見 – ysth