sql查询‘

Posted lxiaoxiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql查询‘相关的知识,希望对你有一定的参考价值。

如何把mysql的列修改成行显示数据简单实现

 

技术分享图片

创建测试表:

   2: CREATE TABLE `test` (
   4:   `month` int(11) DEFAULT NULL,
   6: ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据:

   2: INSERT INTO `test` VALUES (‘1991‘, ‘2‘, ‘1.2‘);
   4: INSERT INTO `test` VALUES (‘1991‘, ‘4‘, ‘1.4‘);
   6: INSERT INTO `test` VALUES (‘1992‘, ‘2‘, ‘2.2‘);
   8: INSERT INTO `test` VALUES (‘1992‘, ‘4‘, ‘2.3‘);

 

看到题目要求,仔细想想可以:

利用SUM(IF()) 生成列 + WITH ROLLUP 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total_num

实现
SQL代码块如下:

   2:     sum(if(month=1,amount,0)) as "M1",
   4:     sum(if(month=3,amount,0)) as "M3",
   6: from test
   7: GROUP by year;

效果如下:

技术分享图片


以上是关于sql查询‘的主要内容,如果未能解决你的问题,请参考以下文章

sql mysql查询/ db片段

SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper

MyBatis高级特性

sql片段的定义

Laravel 5.8 有条件地插入 sql 片段

Mybatis -- 动态Sql概述动态Sql之<if>(包含<where>)动态Sql之<foreach>sql片段抽取