我正在有兩種用戶類型,普通網站成員和評委的競賽網站上工作。每個人都可以使用拖放工具按照他們選擇的順序排列特定比賽中的條目。當他們完成後,相關的參賽ID將附加一個排名值,然後可以用來確定比賽中的哪個參賽項目的平均得分最高。獲勝者實際上將通過平均每組的平均值來確定。MySQL按平均兩種平均值排序
我希望做的是以表格的形式顯示每個參賽作品的標題,然後顯示3個值,avg_normal爲該條目,avg_judge爲該條目,然後將這兩個值相加除以2,所以avg_normal和avg_judge分別佔avg_all的50%。最後,通過avg_all對錶格進行排序。
avg_all =((avg_normal + avg_judge)/ 2)
他們訂購次序entry_ids 1,2,3,4,5。排序值開始於零,因此:
entry_id, entry_ranking, author_id
1, 0, 1
2, 1, 1
3, 2, 1
4, 3, 1
5, 4, 1
我希望確定的1-100分的平均,因此0 = 100點的條目排序,1 = 90,2 = 80,3 = 70,以及任何上述4 = 5分
每個用戶連接到另一個表中的基團,所以它們或者是一般用戶,或一個法官
我希望能夠寫一個查詢發現
1.)平均NORMAL用戶投票分數
2.)平均JUDGE用戶投票分數
3.)NORMAL的平均值爲& JUDGE SCORE。
所以普通用戶平均= 93.3333,法官平均= 70,總平均= 81.66665
由於下面的答案,這兩個查詢工作就像一個冠軍。
謝謝您的幫助在這裏的,這肯定是更近了一步。我不知道我是否完全清楚。我希望做的是以表格形式顯示特定比賽中每個參賽作品的題目,然後顯示3個值,該項目的avg_normal,該項目的avg_judge,然後將這兩個值相加併除以兩個,所以avg_normal和avg_normal各佔avg_all的50%。最後,通過avg_all對錶格進行排序。 avg_all =((avg_normal + avg_judge)/ 2) 更清楚了嗎?非常感謝您提供的任何洞察力 – noahkuhn 2010-02-12 03:20:56
更新了查詢。希望這是你想要的。 – lins314159 2010-02-12 03:42:29
似乎更接近,但我收到以下錯誤:(#1054 - '字段列表'中的未知列'avg_normal')。我在最初的問題中粘貼了最新的查詢,並輸入了相應的值 – noahkuhn 2010-02-12 04:04:39