T-SQL舍入为0.0,0.5或1.0

Dan*_*ite 4 sql t-sql rounding sql-order-by

我有一个有趣的问题,我需要以特定的方式舍入AVG()函数的结果,以便在ORDER BY子句中使用.

这些用于配方评级.

舍入公式的示例:

1.2 -> 1
1.4 -> 1
1.5 -> 1.5
1.6 -> 2
1.9 - >2
Run Code Online (Sandbox Code Playgroud)

我正在查询食谱清单,他们需要订购,以便订购一个五星评级的配方不会在100个评级平均4.9的配方上面订购.order by子句的第二部分是评级计数.

如果这需要用户定义的功能,我不太清楚如何去做.

The*_*ter 6

ORDER BY
    CASE WHEN (Num % 1) = .5
        THEN Num
        ELSE ROUND(Num,0)
    END
Run Code Online (Sandbox Code Playgroud)