当前位置: 代码迷 >> Sql Server >> “Pivot”一定要和“会合函数”一起使用吗
  详细解决方案

“Pivot”一定要和“会合函数”一起使用吗

热度:152   发布时间:2016-04-25 01:14:16.0
“Pivot”一定要和“聚合函数”一起使用吗?
pivot (sum(Qty) for DADay in ([00],[01],[02])


问题:这里的“Qty”只有一个,不需要“Sum”,也不需要“avg”。。。但是不用聚合函数,这里又会提示语法错误,怎么办呢???

------解决方案--------------------
MAX就可以了
------解决方案--------------------
PIVOT

(

<聚合函数>(<要聚合的列>)
FOR

[<包含要成为列标题的值的列>]

IN ( [第一个透视的列], [第二个透视的列],

... [最后一个透视的列])

) AS <透视表的别名>


------解决方案--------------------
1楼小F姐姐已经说了,另外楼主你后面的in ([00],[01],[02],是不是应该改成in (['00'],['01'],['02']。
------解决方案--------------------
探讨
MAX就可以了

------解决方案--------------------
探讨
pivot (sum(Qty) for DADay in ([00],[01],[02])


问题:这里的“Qty”只有一个,不需要“Sum”,也不需要“avg”。。。但是不用聚合函数,这里又会提示语法错误,怎么办呢???

------解决方案--------------------
pivot 与以前的 方式一样,只是变了一下写法,所以也要用聚合,

就像 group by 里面没有的字段也要用聚合
------解决方案--------------------
探讨
引用:
MAX就可以了

跑不了聚合函数
MAX也是聚合

------解决方案--------------------
简而言之 。。必须的
  相关解决方案