首页 > 数据库 >SQL 查询数据横向展示结果

SQL 查询数据横向展示结果

时间:2022-09-06 13:44:08浏览次数:54  
标签:INSERT INTO 横向 MONTH AMOUNT SCORE VALUES SQL 查询

实现效果

初始查询结果

目标查询结果

语句

-- case when
SELECT YEAR,
MAX(CASE MONTH WHEN '1' THEN AMOUNT END ) AS "1",
MAX(CASE MONTH WHEN '2' THEN AMOUNT END ) AS "2",
MAX(CASE MONTH WHEN '3' THEN AMOUNT END ) AS "3",
MAX(CASE MONTH WHEN '4' THEN AMOUNT END ) AS "4" 
FROM SCORE
GROUP BY YEAR;

-- decode
SELECT YEAR, 
MAX(DECODE(MONTH,'1',AMOUNT, null)) AS "1",
SUM(DECODE(MONTH,'2',AMOUNT, null)) AS "2",
SUM(DECODE(MONTH,'3',AMOUNT, null)) AS "3",
SUM(DECODE(MONTH,'4',AMOUNT, null)) AS "4" 
FROM SCORE
GROUP BY YEAR;

数据

CREATE TABLE "SCORE" (
  "YEAR" VARCHAR(10),
  "MONTH" VARCHAR(10),
  "AMOUNT" VARCHAR(10)
);

INSERT INTO "SCORE" VALUES ('1991', '1', '1.1');
INSERT INTO "SCORE" VALUES ('1991', '2', '1.2');
INSERT INTO "SCORE" VALUES ('1991', '3', '1.3');
INSERT INTO "SCORE" VALUES ('1991', '4', '1.4');
INSERT INTO "SCORE" VALUES ('1992', '1', '2.1');
INSERT INTO "SCORE" VALUES ('1992', '2', '2.2');
INSERT INTO "SCORE" VALUES ('1992', '3', '2.3');
INSERT INTO "SCORE" VALUES ('1992', '4', '2.4');

标签:INSERT,INTO,横向,MONTH,AMOUNT,SCORE,VALUES,SQL,查询
From: https://www.cnblogs.com/pangcode/p/16661482.html

相关文章

  • mysql 主从备份原理
    mysql主从备份原理1.1用途及条件mysql主从复制用途实时灾备,用于故障切换读写分离,提供查询服务备份,避免影响业务主从部署必要条件:主库开启binlog日志(设置log-bi......
  • SQLI-LABS(Less-6)
    Less-6(GET-Doubleinjection-DoubleQuotes-String)打开Less-6页面,可以看到页面中间有一句PleaseinputtheIDasparameterwithnumericvalue,那么先使用ID这个参数通......
  • thinkphp6---原生SQL查询
    最近开发项目,由于要考虑大数据的处理,对比了一下,使用Thinkphp执行SQL语句的效率,要比使用模型来做大数据的更新,效率要高很多。总结:复杂的运算,以及对大数据的查询,更新,建议使......
  • centos 编译安装mysql 报错:make[2]: *** [storage/perfschema/unittest/pfs_connect_a
    错误:/opt/install-files/Package/mysql-5.7.38/sql/rpl_binlog_sender.cc:828:undefinedreferenceto`user_var_entry::val_int(char*)const'collect2:error:ld......
  • mongo查询
    StringcollectionName="space_json";//表名List<Map<String,Object>>maplist=newArrayList();Queryquery=createMongoQuery(spaceCode,roomId);//查询条件List<......
  • Sql Server去空格去回车等
    使用场景很多时候我么要统计数据,然后将通结果复制到Excel中,但是有数据中有回车时,就会造成从回车数据换行,如下图:2号位置应在1号位,手动挪过去平白多了一行解决办法明显解......
  • sqlserver substring 函数截取text格式文本格式乱码导致的定位错误的问题
    描述:使用charindex函数对text字段所要截取的内容下标读取例如:str(表字段名称-类型text)=<p>●123456</p>截取123,      index1=chaindex('1',str),inde......
  • MySQL笔记(更新中)
    注意点:如果字段或者数据库或者表名和关键字重复可以使用``来规避关键字1、查看所有数据库>showdatabases;2、选择数据库>usedatabasedbName;3、创建数据库>......
  • StoneDB for MySQL 5.7 版本发布
    StoneDB_5.7_v1.0.0的发行日志支持MySQL5.7功能添加或改变编译相关改动配置相关改动文档变更BUG修复欢迎大家关注我们的Github:https://github.com/stoneatom/st......
  • MySQL教程 - 备份与恢复(Backup & Restore)
    更新记录转载请注明出处。2022年9月6日发布。2022年9月6日从笔记迁移到博客。备份与恢复备份数据库刷新缓存FLUSHTABLES;检查表键释放正确ANALYZETABLE表......