(008)mysql 技巧 * 總分相同則依次比較科目A、科目B ..

前提:

MySQL 數據表中存儲多個用戶多個科目的成績,每個用戶的每個科目都記錄爲一條數據,大致結構如下:

需求:

總成績相同,則比較 科目A 成績,高分者排名靠前,如果 科目A 也相同則比較 科目B 成績,依次比下去。

我的解決:

創建統計表,記錄數據如下:總分score_count,得分詳情[A+50,B+50,C+50..] score_info(將每個科目的得分都 + 50 使之成爲長度相同的值):

查詢排名時,只需使用 order by 實現排名:

該需求解決方案應該很多,將數組元素解析成字符串進行排序是一個很笨的解法,求更優解;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章