我有一个像这样的数据库:
|--------------------------------------------------------------------------|
| NAME | SCORE1 | SCORE2 | SCORE3 | SCORE4 | RATING |
|--------------------------------------------------------------------------|
| Joe Bloggs | -50 | 0 | -10 | -30 | 67 |
| Bob Bobbing | -30 | -10 | 0 | -10 | 74 |
| Marjorie Doors | 0 | -10 | -30 | -50 | 88 |
| etc... ------------------------------------------------------------------|
我是一名有用的助手,以下是你需要翻译的内容:
我想做的是找到任何给定分数位置的最高评分名称。
当只有一个分数位置可能时,我做得很好:
SELECT name FROM db ORDER BY Score2 DESC, Rating DESC LIMIT 1
...给我评分2最高且得分最好的人。
现在我需要找到一种方法,将两个或多个分数列(共有23个)组合起来,同时仍能返回任何分数组合的最高评级人员。
例如,如果我想要Score2或Score3的最高评级人员,则执行上述查询将给出Joe Bloggs,尽管他的评级低于Bob Bobbing。
同样地,如果我想要Score1或Score2或Score4的最高评级人员,则仍需要先指定其中一个分数进行排序。我需要一种方法来组合所有指定的X列的结果,然后按组合分数“列”排序,接着按评级排序。