0 から 1 に変化する float 型の行があります。結果を 0.5 に近い順に並べたいと思います。だから私は試しました:
SELECT * FROM a ORDER BY ABS(a.value - 0.5) desc
しかし、それは機能していません。0、次に 1、次に 0 を返すだけです (ランダムに見えます)。何か案は?
テーブル a には、次のように value という行があります。
A value = 1
B value = 0
C value = 0.5
D value = 0.3
この順序でそれらを返したい:
C (ABS(value - 0.5) = 0)
D (ABS(value - 0.5) = 0.2)
A (ABS(value - 0.5) = 0.5)
B (ABS(value - 0.5) = 0.5)