1

ここに問題があります。selectクエリで表示したい4つの列があります。ただし、RSV列の+値と-値ではなく10-1スケールにする必要があります。最大数+8,6は10を取得する必要があります。下部の値のいくつかは1を持つことができます。これを解決する方法がまったくわかりません...

Nrは競走馬のスタート番号です。レースには15頭未満の馬を含めることもできます

    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
4

1 に答える 1

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

こちらのフィドルをご覧ください。

于 2013-03-25T10:55:53.297 に答える