[英]T-SQL Rounding to 0.0, 0.5, or 1.0
我有一個有趣的問題,我需要以特定方式對 AVG() function 的結果進行舍入,以便在 ORDER BY 子句中使用。
這些用於配方評級。
舍入公式的示例:
1.2 -> 1
1.4 -> 1
1.5 -> 1.5
1.6 -> 2
1.9 - >2
我正在查詢一個食譜列表,並且需要訂購它們,這樣一個 5 星評級的食譜就不會高於一個平均 4.9 的 100 個評級的食譜。 order by 子句的第二部分是評分計數。
如果這需要用戶定義的 function,我不太清楚 go 如何去做。
ORDER BY
CASE WHEN (Num % 1) = .5
THEN Num
ELSE ROUND(Num,0)
END
如果我理解正確的話,你有星星和半星嗎? 我建議ORDER BY ROUND(value*2, 0)/2
,這樣它會四舍五入到最接近的0.5
(半星)步長。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.