sql-行列转换

 group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )

SELECT GROUP_CONCAT(DISTINCT NAME),mon FROM sale GROUP BY mon

 

 

 

 

 

 

 SELECT a.`name`,a.mon,

SUM(CASE RIGHT(a.mon,2) WHEN '01'  THEN sa ELSE 0 END) '01月',
SUM(CASE RIGHT(a.mon,2) WHEN '02'  THEN sa ELSE 0 END) '02月',
SUM(CASE RIGHT(a.mon,2) WHEN '03'  THEN sa ELSE 0 END) '03月',
SUM(CASE RIGHT(a.mon,2) WHEN '04'  THEN sa ELSE 0 END) '04月',
SUM(CASE RIGHT(a.mon,2) WHEN '05'  THEN sa ELSE 0 END) '05月',
SUM(CASE RIGHT(a.mon,2) WHEN '06'  THEN sa ELSE 0 END) '06月',
SUM(CASE RIGHT(a.mon,2) WHEN '07'  THEN sa ELSE 0 END) '07月',
SUM(CASE RIGHT(a.mon,2) WHEN '08'  THEN sa ELSE 0 END) '08月',
SUM(CASE RIGHT(a.mon,2) WHEN '09'  THEN sa ELSE 0 END) '09月',
SUM(CASE RIGHT(a.mon,2) WHEN '10'  THEN sa ELSE 0 END) '10月',
SUM(CASE RIGHT(a.mon,2) WHEN '11'  THEN sa ELSE 0 END) '11月',
SUM(CASE RIGHT(a.mon,2) WHEN '12'  THEN sa ELSE 0 END) '12月'

FROM sale a

GROUP BY a.mon

 

 

 

 

 

 

 

 

 

行转列列传行更具体例子

   1、查看数据

Sql代码   收藏代码
  1. SELECT  * FROM tabName ;  

 

   

   2、列转行统计数据

Sql代码   收藏代码
  1. SELECT DATE ,  
  2.     MAX(CASE NAME WHEN '小说' THEN Scount ELSE 0 END ) 小说,  
  3.     MAX(CASE NAME WHEN '微信' THEN Scount ELSE 0 END ) 微信   
  4. FROM TabName    
  5. GROUP BY DATE  

3、行转列
Sql代码   收藏代码
  1. SELECT DATE,GROUP_CONCAT(NAME) FROM tabname GROUP BY DATE  

 

4、行转列统计数据

Sql代码   收藏代码
  1. SELECT DATE, GROUP_CONCAT(NAME,'总量:',Scount) AS b_str FROM tabName GROUP BY DATE  
   
Sql代码   收藏代码
  1. SELECT DATE,NAME, GROUP_CONCAT(NAME,'总量:',Scount) AS b_str FROM   TabName GROUP BY DATE ,NAME  

 

转载于:https://www.cnblogs.com/jentary/p/11579319.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值