我有这样一个数据库:
|--------------------------------------------------------------------------|
| 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 OR Score3,那么执行上述查询会给我Joe Bloggs,即使他的评分低于Bob Bobbing的评分.
同样,如果我想要得分最高的人得分1或得分2或得分4,我仍然需要指定其中一个得分来排序.我需要一种方法来组合指定的所有X列的结果,然后按组合得分’列’排序,然后按评级排序.