chunjihong 发表于 2018-10-24 09:03:17

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]
查看完整版本: SQL关键字Pivot(行变列)