对于TSQL中枢轴中的平均值,四舍五入到两位小数

对于TSQL中枢轴中的平均值,四舍五入到两位小数,tsql,Tsql,我想重点回答以下问题: SELECT CategoryID, AVG(UnitPrice) FROM Products GROUP BY CategoryID; 把它变成 Per Category 1 2 3 4 5 6 7 8 Average Unit Price 37.98 23.06 25.16 28.73 20.25 54.01 32.37

我想重点回答以下问题:

SELECT CategoryID, AVG(UnitPrice)
FROM Products
GROUP BY CategoryID;
把它变成

Per Category        1       2       3       4       5       6       7       8

Average 
Unit 
Price           37.98   23.06   25.16   28.73   20.25   54.01   32.37   20.68

如何计算源查询中的平均值? 然后在进行转换时将其转换为十进制

SELECT 
 'Average Unit Price' AS [Per Category], Pvt.*
FROM 
(
  SELECT CategoryID, CAST(AVG(UnitPrice) AS DECIMAL(16,2)) as AvgUnitPrice
  FROM dbo.Products
  WHERE CategoryID BETWEEN 1 AND 8
  GROUP BY CategoryID
) AS Src
PIVOT
(
  MAX(AvgUnitPrice)
  FOR CategoryID IN ([1],[2],[3],[4],[5],[6],[7],[8]) 
) AS Pvt

@如果一个答案解决了你的问题,你应该把它标记为接受,这样其他人就会知道问题已经解决了。