SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
166 个问题
我可以在PIVOT中同时使用两个聚合函数吗?比如说SUM和AVG。
我查看了官方文档中的例子,好像只可以用一个函数。
我可以在PIVOT中同时使用两个聚合函数吗?比如说SUM和AVG。
官方文档中的语法表明只可以一个聚合函数。
如果你想要同时使用两个聚合函数进行计算的话,我建议你使用SUM(CASE WHEN ...)或者AVG(CASE WHEN ...)。
参考这个例子:
CREATE TABLE #TEST(ItemCode INT,[Year] INT,Quantity INT)
INSERT INTO #TEST VALUES(101,2019,111),(102,2019,222),(103,2020,333),(101,2020,111),(102,2021,222),(103,2021,222)
SELECT * FROM #TEST
SELECT ItemCode,
SUM(CASE WHEN [Year]=2019 THEN Quantity END) AS [2019 SUM],
AVG(CASE WHEN [Year]=2019 THEN Quantity END) AS [2019 AVG],
SUM(CASE WHEN [Year]=2020 THEN Quantity END) AS [2020 SUM],
AVG(CASE WHEN [Year]=2020 THEN Quantity END) AS [2020 AVG],
SUM(CASE WHEN [Year]=2021 THEN Quantity END) AS [2021 SUM],
AVG(CASE WHEN [Year]=2021 THEN Quantity END) AS [2021 AVG]
FROM #TEST
GROUP BY ItemCode
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。