SQL关键字Pivot(行变列)
工作中总是会用到sql语句,统计同一字段不同值的数据条数,我总是会在网上查找好久,终于还是想自己记录一下,一方面可以让自己加深印象,另一方面如果以后忘记也可以直接找到,不用多花时间来查找相关内容。首先要记住关键字Pivot(枢纽):以用户表信息为例,查询用户信息表中男女人数
SELECTFemaleAS [女], AS [男]
FROM ( SELECT ,
FROM ) AS
PIVOT (COUNT() FOR Sex IN (, )) AS
解析:首先写一个简单的查询语句要有显示的必要信息:
SELECTCardID ,SexFROMUserInfo
CardID 为主键用来计算人数count;Sex 是查询条件中必不可少的
将这个简单的表重名名为SourceTable。
PIVOT 后面是聚合函数Count
For要成为列标题的值的列
IN (要成为列标题的值(, ))
AS 重新定义完成的表名
这些只是一个简单的例子可以举一反三,写出更复杂的sql。
这些仅仅是自己理解的内容,如果有什么不对,或者解释错误还希望帮忙指出。谢谢
页:
[1]