Mysql 列转行统计查询 、行转列统计查询
-- ---------------------------- -- Table structure for `TabName` -- ---------------------------- DROP TABLE IF EXISTS `TabName`; CREATE TABLE `TabName` ( `Id` int (11) NOT NULL AUTO_INCREMENT, ` Name ` varchar (20) DEFAULT NULL , ` Date ` date DEFAULT NULL , `Scount` int (11) DEFAULT NULL , PRIMARY KEY (`Id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of TabName -- ---------------------------- INSERT INTO `TabName` VALUES ( '1' , '小说' , '2013-09-01' , '10000' ); INSERT INTO `TabName` VALUES ( '2' , '微信' , '2013-09-01' , '20000' ); INSERT INTO `TabName` VALUES ( '3' , '小说' , '2013-09-02' , '30000' ); INSERT INTO `TabName` VALUES ( '4' , '微信' , '2013-09-02' , '35000' ); INSERT INTO `TabName` VALUES ( '5' , '小说' , '2013-09-03' , '31000' ); INSERT INTO `TabName` VALUES ( '6' , '微信' , '2013-09-03' , '36000' ); INSERT INTO `TabName` VALUES ( '7' , '小说' , '2013-09-04' , '35000' ); INSERT INTO `TabName` VALUES ( '8' , '微信' , '2013-09-04' , '38000' ); -- ------------------------ -- 查看数据 -- ------------------------ SELECT * from TabName ; |

-- ------------------------ -- 列转行统计数据 -- ------------------------ SELECT Date , MAX ( CASE NAME WHEN '小说' THEN Scount ELSE 0 END ) 小说, MAX ( CASE NAME WHEN '微信' THEN Scount ELSE 0 END ) 微信 FROM TabName GROUP BY Date <br><br> |

|
-- ------------------------ -- 行转列统计数据 -- ------------------------ |

<br> select Date , group_concat( NAME , '总量:' ,Scount) as b_str from TabName group by Date |

select Date , NAME , group_concat( NAME , '总量:' ,Scount) as b_str from TabName group by Date , NAME |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?