将值转换为前10个比例

时间:2013-03-25 10:42:56

标签: mysql valueconverter

这是问题所在。我想在选择查询中显示四列。 但是,我希望RSV列具有10-1的比例而不是其+和 - 值。 最大的数字+8,6应该得到10.底部的几个值可以有1。 我绝对不知道如何解决这个问题......

Nr是赛马的首发数字。 一场比赛还可以包含少于十五匹马     

    Nr  RPO    RSP     RSV
1 10 9 +5,3 2 9 10 +8,6 3 8 7 -2,7 4 7 8 +3,8 5 6 4 +4,3 6 5 6 -1,0 7 4 5 +3,3 8 3 1 +6,6 9 2 1 +2,1 10 1 1 +3,8 11 1 3 +2,9 12 1 2 -2,1 13 1 1 +1,0 14 1 1 -1,0 15 1 1 +2,4

最后一列显示输出:

               
Nr  RPO RSP RSV      RSVOutput
2   9   10  8,6      10
8   3   1   6,6      9
1   10  9   5,3      8
5   6   4   4,3      7
4   7   8   3,8      6
10  1   1   3,8      5
7   4   5   3,3      4
11  1   3   2,9      3
15  1   1   2,4      2
9   2   1   2,1      1
13  1   1   1        1
6   5   6   -1       1
14  1   1   -1       1
12  1   2   -2,1     1
3   8   7   -2,7     1
SELECT *
FROM rank
ORDER BY Nr

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

SELECT
  Nr, RPO, RSP, RSV,
  CASE WHEN @row>1 THEN @row:=@row-1 ELSE 1 END RSVOutput
FROM
  yourtable, (SELECT @row:=11) rows
ORDER BY
  RSV DESC

请参阅小提琴here