帮助! 我有一个看起来像下面的表。
SELECT *
FROM tblshipline
WHERE MethodShipped = 'FEDEX'
然后我得到
Qtyshipped
2
3
15
3
10
9
10
现在的问题是计算qtyshipped
的平均值并将其四舍五入为2位十进制数。
我的代码是
SELECT CONVERT(decimal(8,6), ROUND(AVG(Qtyshipped),2))
FROM TblShipLine
WHERE MethodShipped= 'FEDEX'
答案应为7.430000
,
但它总是返回7.000000
。我感谢任何建议,谢谢!
答案 0 :(得分:6)
这里我们取你的INT值并加上0.0,这是一个快速转换为float。然后我们应用round()和convert()
Declare @YourTable table (Qtyshipped int)
Insert into @YourTable values
(2),
(3),
(15),
(3),
(10),
(9),
(10)
Select convert(decimal(8,6),round(Avg(Qtyshipped+0.0),2))
From @YourTable
返回
7.430000