Mysql 分組查詢最高分

來源:互聯網
上載者:User

標籤:

今天告訴我要寫一個服務,目的是按照每個班中各分組中競賽最高分組平分小組得分給各個成員的服務,於是就有兩個技術需求

1 查詢每個班的冠軍團隊   

2 增加一組人的分數

從“1”中,查出每個班N個分組中的得分冠軍團隊,然後根據這個團隊小組人數,把團隊得分平均分成N份,用方法“2”更新該組人的分數。

上查詢代碼!

1 有可能有更好的方法,我在網上參考了這篇文章,

http://www.jb51.net/article/31590.htm

選擇了方法4中的 Inner JOIN,當然有一個班中兩組平分兒和分數除以人數不為整數的情況產生,這裡都不考慮程式中的邏輯處理,只考實現查詢需要的原始資訊。

1 -- 查詢每個班的冠軍團隊   2  SELECT a.* 3  FROM t_mfg_ClassGameGroup a INNER JOIN (4         SELECT f_ClassId , MAX(f_Score) Score 5         FROM t_mfg_ClassGameGroup GROUP BY f_ClassId) b 6         ON a.f_ClassId = b.f_ClassId AND a.f_Score = b.Score 7  ORDER BY a.f_ClassId 

查詢結果

2 資料都是類比的

-- 增加一組人的分UPDATE t_mfg_Student SET f_Score = f_Score + 10 WHERE f_uid IN (SELECT f_UID FROM t_mfg_UserGroup WHERE    f_groupId = 2)

用這兩個工具語句就可以實現更新了

Mysql 分組查詢最高分

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.