-1

関連: MySQL ORDER BY Customized 別の質問があります。id_competitorさまざまなスコアがあります。

id_competitor   score
1               WIN
2               50+
3               90+
4               90+
1               50
2               WIN
3               40
4               40+

使用したいのですorder byが、次の順序で:

id_competitor
2
1
4
3

どうすればいいのかわからないSELECT DISTINCT with ORDER BY or GROUP BY

4

2 に答える 2

0

Ed の優れた応答を拡張するには ( https://stackoverflow.com/users/2091410/ed-gibbs )

select outside.id_competitor, sum(outside.numericscore) as sumscore
from (
select inside.id_competitor, CASE
    WHEN inside.score = 'WINNER' THEN 100000
    WHEN inside.score = 'LOSER' THEN -100000
    WHEN inside.score LIKE '%+' THEN inside.score * 100 + 99
    ELSE inside.score * 100
    END AS "numericscore" 
FROM mytable inside
) as outside
group by outside.id_competitor
order by sumscore desc
于 2013-06-11T17:54:41.997 に答える