• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > Oracle 数据显示 横表转纵表

Oracle 数据显示 横表转纵表

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了Oracle,横表,纵表等相关知识,希望本文的分享对您有所帮助

横表转纵表亦可用与decode意义相似的case语句实现,原理同该语句,这里不再过多描述。

1.建表
代码如下:
-- Create table
create table test
(
dm1 char(3),
dm2 char(3),
mc1 nvarchar2(20),
val nvarchar2(20)
)

2.填入数据如下:

3.转换语句:
代码如下:
select dm1,dm2,sum(decode(mc1,'c1',val)) c1,sum(decode(mc1,'c2',val)) c2,sum(decode(mc1,'c3',val)) c3
from test
group by dm1,dm2

注:该语句是在val为数值的情况下的执行方法,如果val不为数值型,或者包含字符串等类型的话,运用sum会报错,这里可以采用另外一个方法,将sum改为max即可,语句如下:
代码如下:
select dm1,dm2,max(decode(mc1,'c1',val)) c1,max(decode(mc1,'c2',val)) c2,max(decode(mc1,'c3',val)) c3
from test
group by dm1,dm2

此外,横表转纵表亦可用与decode意义相似的case语句实现,原理同该语句,这里不再过多描述。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅析drop user与delete from mysql.user的区别
  • mysql prompt的用法详解
  • 如何使用索引提高查询速度
  • 深入mysql创建自定义函数与存储过程的详解
  • JDBC数据库的使用操作总结
  • MySQL查询优化:LIMIT 1避免全表扫描提高查询效率
  • MySQL与Oracle的语法区别详细对比
  • 有关mysql中ROW_COUNT()的小例子
  • MySQL 百万级分页优化(Mysql千万级快速分页)
  • 从创建数据库到存储过程与用户自定义函数的小感

相关文章

  • 2018-12-05Oracle数据块实现原理深入解读
  • 2017-05-11mysql增加新用户无法登陆解决方法
  • 2018-12-05如何利用MySQL数据库判断NULL结果为1?
  • 2018-12-05Mysql优化之深入了解存储引擎,进行索引优化
  • 2017-05-11汇总整理MYSQL相关操作命令
  • 2018-12-05MySQ登录提示ERROR 1045 (28000)错误如何解决
  • 2018-12-05解决mysql数据库无法被其他ip访问的情况
  • 2018-12-05mysql-MySQL存储过程提交事物后0影响行怎么处理?
  • 2018-12-05redo和undo的一点关系及删除联机日志文件组的注意事项
  • 2018-12-05mysql 终结点映射器中没有更多的终结点可用的解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 常用的MySQL命令分享
    • Mysql 日期时间 DATE_FORMAT(date,format)
    • mysql索引学习教程_MySQL
    • sqlserver 查询数据库大小的方法
    • sql数据库不能直接用instr函数
    • oracle学习笔记(二)
    • MySQL 教程之列类型中的字符串型
    • SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)
    • mysql 忘记密码的解决方法(linux和windows小结)
    • sqlserver巧用row_number和partition by分组取top数据

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有