我有一個數據庫,用於跟蹤遊戲統計信息。假設每場比賽包括三輪比賽,達到10分。所以,我的表中的部分看起來像這樣:從單獨的列中排序mysql數據
game | round1home | round1away | round2home | round2away | round3home | round3away
-----------------------------------------------------------------------------------
1 | 10 | 7 | 8 | 10 | 10 | 5
2 | 10 | 4 | 10 | 6 | 6 | 10
3 | 3 | 10 | 9 | 10 | 7 | 10
4 | 10 | 5 | 6 | 10 | 10 | 3
5 | 8 | 10 | 10 | 7 | 7 | 10
6 | 10 | 8 | 4 | 10 | 10 | 9
我需要拉出來是遊戲的最低得分5客隊回合的列表。在使用上表換句話說,我希望結果返回這些行:
game 4: 3 points
game 2: 4 points
game 1: 5 points
game 4: 5 points
game 2: 6 points
我的問題是事實,我可能會具有相同的遊戲出現不止一次在列表中的遊戲2做上面的例子。我能寫出一個查詢,除了在重複遊戲中添加外。
我想我需要做一個自我連接,然後可以排序行?我在遇到困難時遇到了麻煩!非常感謝您的幫助!
您的數據庫設計打破[第一範式(http://en.wikipedia.org/wiki/First_normal_form):你有「重複組」。將結果移到「round_results」表中[id,round_number,home,away,score]'會更好。考慮如果有20輪,你的表需要多少列。你會發現查詢也更容易寫。 – Bohemian