mysql 列转行处理】的更多相关文章

1.正常情况. SELECT JoinEventIds from nt_mainnum 2.使用group_concat函数 select group_concat(JoinEventIds) from nt_mainnum 3.使用SUBSTRING_INDEX和CROSS JOIN将列里面的的数字都拆分出来. 方法一(网上查询的方法): 建配置表: )); INSERT INTO digits VALUES (), (), (), (), (), (), (), (), (), (); ))…
  -- ---------------------------- -- 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 DEFAU…
数据表: 列转行:利用max(case when then) max---聚合函数 取最大值 (case course when '语文' then score else 0 end) ---判断  as 语文---别名作为列名 SELECT `name`, MAX( CASE WHEN course='语文' THEN score END ) AS 语文, MAX( CASE WHEN course='数学' THEN score END ) AS 数学, MAX( CASE WHEN cou…
第一种方法:使用序列化表的方法实现列转行 第一种方法:使用UNION的方法实现列转行 第二种方法:使用序列化表的方法实现列转行…
数据表(表名:xsk) +----+------+-----------+-------+ | id | name| course | score | +----+------+-----------+-------+ | 1 | 刘备 | 英语 | 100 | | 2 | 关羽 | 英语 | 99 | | 3 | 张飞 | 英语 | 98 | | 4 | 刘备 | 数学 | 100 | | 5 | 关羽 | 数学 | 99 | | 6 | 张飞 | 数学 | 98 | +----+------…
列转行 SELECT flag ,substring_index(substring_index(t.context,), ) as result FROM ( select 'aa' as flag,'1,2,3,4,5,6,7' as context union all select 'bb' as flag,'1,2,3,4,5,6' as context union all select 'cc' as flag,'1,2,3,4,5' as context union all sele…
-- 列转行动态sql -- 测试表DROP TABLE IF EXISTS `tb_score`; CREATE TABLE `tb_score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userid` varchar(20) NOT NULL COMMENT '用户id', `subject` varchar(20) DEFAULT NULL COMMENT '科目', `score` double DEFAULT NULL COMMENT '成绩'…
用过Mysql的都知道她有一个很好的实现行转列功能的函数group_concat函数,非常方便 点击(此处)折叠或打开 SELECT * FROM group_test; SELECT id, GROUP_CONCAT(sub_id) FROM `group_test` GROUP BY id; 现在的需求是有上面图二类似的结果集,需要把列二拆分 转换成行记录 我们知道如果是单条记录通过SUBSTRING_INDEX容易实现 点击(此处)折叠或打开 select id,SUBSTRING_IND…
CREATE TABLE `table1` ( `id` ) DEFAULT NULL, `name` ) CHARACTER SET utf8 DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; ,'yang,zheng,song'); ,'zhao,qian,sun'); ,'zhou,wu'); SELECT a.id, substring_index( substring_index( a.name, ), ) name FROM t…
要得到 SELECT name, SUM(CASE course WHEN '语文' THEN score END ) AS '语文', SUM(CASE course WHEN '数学' THEN score END ) AS '数学', SUM(CASE course WHEN '英语' THEN score END ) AS '英语' FROM grade GROUP BY name…