pl\sql 行列转换问题

liu_dashi 2013-04-15 01:46:08
有个问卷结果表。字段有:问卷Id,题目分类、题号、得分。
数据如下:
问卷Id 题目分类 题号 得分
答卷1 A 1 5
答卷1 A 2 4
答卷1 B 1 3
答卷1 B 2 2
答卷2 A 1 5
答卷2 A 2 4
答卷2 B 1 5
答卷2 B 2 4
答卷3 A 1 5
答卷3 B 2 4

我想要的查询结果:
答卷1 题目分类A均分 题目分类B均分
答卷2 题目分类A均分 题目分类B均分
...全文
330 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
现在 2013-04-15
  • 打赏
  • 举报
回复
怎么解决的?学习一下。
liu_dashi 2013-04-15
  • 打赏
  • 举报
回复
我已经解决了 谢谢大家
xinpingf 2013-04-15
  • 打赏
  • 举报
回复
引用 3 楼 liu_dashi 的回复:
引用 2 楼 hebeishimeng 的回复:SQL code?1234567select 问卷Id, 'A' as '题目分类', avg (case when case when 题目分类 = 'A' then 得分 end) as '均分', 'B' as '题目分类', avg (case when case when 题目分类 = 'B' then 得分 en……
题目分类不就是A和B吗?已经做列了,你是说还要按题号分组?
liu_dashi 2013-04-15
  • 打赏
  • 举报
回复
引用 4 楼 real_tecent 的回复:
果断用decode
啥意思?刚开始用oracle 不是很熟儿,能帮忙看看么?
attach_finance 2013-04-15
  • 打赏
  • 举报
回复
果断用decode
liu_dashi 2013-04-15
  • 打赏
  • 举报
回复
引用 2 楼 hebeishimeng 的回复:
SQL code?1234567select 问卷Id, 'A' as '题目分类', avg (case when case when 题目分类 = 'A' then 得分 end) as '均分', 'B' as '题目分类', avg (case when case when 题目分类 = 'B' then 得分 end) as '均分'from 问卷结果表grou……
这样结果不对,求平均分除了按问卷分组 还要按题目分类来分组。
raymonshi 2013-04-15
  • 打赏
  • 举报
回复
select 问卷Id,
 'A' as '题目分类',
 avg (case when case when 题目分类 = 'A' then 得分 end) as '均分',
 'B' as '题目分类',
 avg (case when case when 题目分类 = 'B' then 得分 end) as '均分'
from 问卷结果表
group by 问卷Id
liu_dashi 2013-04-15
  • 打赏
  • 举报
回复
没人愿意帮个忙啊 跪谢!
Oracle SQL Handler,是专为 Oracle 数据库开发人员及操作人员精心打造的一款 Oracle 客户端工具 : 超智能的SQL编辑器;超方便的表格操作(可以通过修改表格的单元格数据去更新数据库表 );多种格式的数据导出包括 XLS、CSV、INSERT SQL、HTML、XML[;中英文双语界面[/b]并能切换; 监控批量SQL语句的运行(在运行中可暂停、更正);不需要安装 Oracle 客户端;占用系统资 源极少;能运行于所有的主流平台包括 Windows、Linux、Unix 及 Mac OS;多线程多连接。所有这些 功能特性在同类工具中表现突出,甚至是本工具独有的! 还有,它能快速显示SQL的解释计划;能运行/调试 PL/SQL 语句;精确的错误定位;高效的 语句块操作;SQL格式美化;连接配置简单;自动重新连接;个性化界面设置;界面简洁清爽;操作简便 ;功能实用且全面! 总之,本工具确实 “小巧、实用、方便、高效”,正是 Oralce 数据库开发人员及操作人员所需要 的强有力的工具! 是国产的,很少见吧,用过的人都说非常方便非常实用而且很强大,不逊色于同类的收费软件! 免费的产品, 强大的品质, 您还等什么! 请从如下页面下载最新版本的: http://www.onlinedown.net/softdown/91179_2.htm http://www.duote.com/soft/17069.html#downsite 工具的界面图片如下: http://img.newhua.com/100000/91179.jpg http://img.newhua.com/100000/q91179.jpg 主要功能如下: 将 SELECT 语句的查询结果显示在工作表,可以直接对查询结果进行再操作,如 修改、插入行、删除行、提 交(将表格中的数据改变写入相应的数据库表中)、多功能拷贝、将选择的单元格数据导出为 XLS /CSV /INSERT SQL /HTML /XML 等格式、单条记录操作、能方便地查找\替换单元格中的数据、数值统计、行列移动、 列排序、选择模式切换等;能方便地查看/编辑大型的文本字段(如 CLOB、 LONG) 智能的SQL编辑器:自动弹出提示窗口,列出关键字、关键字组合、函数名、列名、对象名、对象类型、参数 、包内的过程和函数,提高SQL编辑效率。例如: (1)输入字串“sel”,一秒钟后列出以“sel”开头的所有关键字、关键字组合(如 SELECT, SELECT DISTINCT, SELECT * FROM)、函数及对象名; (2)输入字串“abc”+“.”,如果“abc”是一表名/视图,或其别名,则列出表/视图的所有列名及数据类型 ;如果“abc”是一用户名,则列出该用户的所有对象;如果“abc”是一包名,则列出包内的过程和函数; (3)输入字串“grant”+空格,列出所有权限和角色,再输入“on”+空格,列出所有对象,再输入“to”+空 格,列出所有用户名; 彩色的SQL编辑器,增强可读性: (1)关键字、注释块、引号内字符串、操作符、特殊字符等,用不同的彩色字体加以区别; (2)如果光标前面是一个括号,高亮度显示配对的括号 支持批量SQL语句的运行:用监控器监控每条语句的运行,在运行过程中可以中断/暂停/继续正在运行的语句 ,甚至可以更正出错误的语句 方便高效的块操作,以满足特殊需求: (1)“Format SQL” 按钮能将语句块中杂乱语句以缩进的格式进行重新编排,即格式美化; (2)“Explain Plan” 按钮能快速地显示语句的执行计划; (3)“Export” 按钮能将SQL编辑器中的 SELECT 语句块直接导出为 XLS /CSV /INSERT SQL /HTML /XML 等格 式,方便于数据移植、备份、打印及存档等; (4)支持列块操作; (5)加上/去掉注释标记、加上/去掉引号、增加/减少缩进、大小写转换等 运行语句 “desc [user.]objectName[@dbLink]” 或 Ctrl+鼠标点击字串“[user.]objectName[@dbLink] ”,如果是一表名,则能清楚地显示表的列信息(包括列名称、数据类型及长度、默认值、非空)、索引、约束 条件(主键、唯一键、检查键、子表、触发器、外键、甚至外键的外键) 运行语句 “schema [user.]objectName[@dbLink]”,如果是一表名或视图名或物化视图(快照),则显示 其生成的脚本/语句 支持 PL/SQL 语句(包括 Procedure、 Function、T
本软件是一款 Oracle 客户端工具 - 专用于 Oracle 数据库操作: 多线程、多连接、智能/彩色SQL编辑器、中英文双语界面并能切换、支持 PL/SQL、批量SQL运行、高效的块操作、方便的表格操作,不需要安装 Oracle 客户端,能运行于所有的主流平台包括 Windows、Linux 、Unix 及 Mac OS,界面简洁、操作简便、功能实用且全面! 主要功能如下: o 用表格显示 SELECT 语句的查询结果,可以直接对查询结果进行再操作,如 修改、插入行、删除行、提交(将表格中的数据改变写入相应的数据库表中)、多功能拷贝、导出为 INSERT 语句、单条记录操作、方便的查找及替换功能、数字统计、行列移动、列排序、选择模式切换等;能方便地查看、编辑大型的文本字段(如 CLOB、 LONG) o 智能的SQL编辑器:自动弹出提示窗口,列出关键字、函数名、列名、对象名、对象类型、参数、包内的过程和函数,提高SQL编辑效率。例如: (1)输入字串“se”,两秒钟后列出以“se”开头的所有关键字及函数; (2)输入字串“abc”+“.”,如果“abc”是一表名/视图,或其别名,则列出表/视图的所有列名及数据类型;如果“abc”是一用户名,则列出该用户的所有对象;如果“abc”是一包名,则列出包内的过程和函数; (3)输入字串“grant”+空格,列出所有权限和角色,再输入“on”+空格,列出所有对象,再输入“to”+空格,列出所有用户名; (4)输入字串“drop”+空格,列出“drop”支持的所有对象类型,例如,选择“table”项再输入一空格,则又列出当前用户的所有表名; (5)当提示窗口出现时,只需输入部分字串,窗口能自动查找全串,比如,输入子串“name”,显示“first_name”项,按Ctrl+PdDn键则向下查找“last_name”项,按Ctrl+PdUp键则向上查找“first_name”项 o 彩色的SQL编辑器,增强可读性: (1)关键字、注释块、引号内字符串、操作符、特殊字符等,用不同的彩色字体加以区别; (2)如果光标前面是一个括号,高亮度显示配对的括号 o 支持批量SQL语句的运行:用监控器监控每条语句的运行,在运行过程中可以中断/暂停/继续正在运行的语句,甚至可以更正出错误的语句 o 方便高效的块操作,以满足特殊需求: (1)“Format SQL” 按钮能将语句块中杂乱语句以缩进的格式进行重新编排,即格式美化; (2)“Explain Plan” 按钮能快速地显示语句的执行计划; (3)“Export” 按钮能将 SELECT 语句块直接导出为 INSERT 语句,方便于数据移植、备份等; (4)支持列块操作; (5)加上/去掉注释标记、加上/去掉引号、增加/减少缩进、大小写转换等 o 运行语句 “desc [user.]objectName[@dbLink]” 或 Ctrl+鼠标点击字串“[user.]objectName[@dbLink]”,如果是一表名,则能清楚地显示表的列信息(包括列名称、数据类型及长度、默认值、非空)、索引、约束条件(主键、唯一键、检查键、子表、触发器、外键、甚至外键的外键) o 运行语句 “schema [user.]objectName[@dbLink]”,如果是一表名或视图名,则显示表或视图的脚本/语句,即表或视图是如何创建的(包括索引及约束条件) o 支持 PL/SQL 语句(包括 Procedure、 Function、Trigger、 Package),能够显示 DBMS_OUPTPUT.PUT_LINE 的输出;能够给出错误信息,甚至光标能够精确定位错误所在的行列位置,方便于调试 o 多线程、多连接:可以创建多个会话/连接,多个会话可以同时运行,在运行过程中可以掌控其运行状态、可以随时中断之,在运行过程中可以继续从事编辑等工作,不必等待运行完毕才能编辑 o 提供对常用数据字典(如 表、视图、索引、同义词、约束、过程、触发器等)的常用操作。例如,输入 “%NAME” 或 “NAME%” 或 “%NAME%”,能查找包含子串 “NAME” 的所有对象名,通过弹出菜单可以对每一个对象进行操作,如修改、删除、查看等
第1章 概述 1. BI介绍 2. Oracle介绍与安装 2.1 Oracle安装 2.2 Oracle 默认用户 2.3 服务器连接 3. PL/SQL Developer工具 4. Oracle用户和权限 4.1用户和权限 4.2角色 第2章 SQL数据操作和查询 1. SQL简介 2. 查询 2.1查询结构 2.2查询顺序 . 2.3聚合函数 . 3. 创建表和约束 3.1 Oracle常用数据类型 3.2创建表 3.3表的约束 4. 数据操作语言(DML) 4.1数据插入 4.2更新数据 4.3删除数据 4.4 TRUNCATE(DDL命令) 5. 操作符 5.1算术运算 5.2关系运算和逻辑运算 5.3字符串连接操作符(||) 6. 高级查询 6.1 DISTINCT操作 6.2 NULL操作 6.3 IN 操作 6.4 BETWEEN…AND… 6.5 LIKE模糊查询 6.6 集合运算 6.7 连接查询 第3章 子查询和常用函数 1. 子查询 2. Oracle中的伪列 2.1 ROWID 2.2 ROWNUM 3. Oracle单行函数 3.1字符函数 3.2数字函数 3.3日期函数 3.4转换函数 3.5其他常用函数 4. Oracle分析函数 4.1 分析函数介绍 4.2 分析函数种类和用法 4.3 行列转换 第4章 表空间、数据库对象 1.同义词 2.序列 3.视图 4.索引 4.1 索引介绍 4.2 索引种类 4.3 索引优缺点 4.4 索引失效 5.表空间 6.表分区 6.1表空间及分区表的概念 6.2表分区的具体作用 6.3.表分区的优缺点 6.4表分区的几种类型及操作方法 6.5有关表分区的一些维护性操作 第5章 PL/SQL程序设计 1. PL/SQL简介 2. PL/SQL基础 2.1声明 2.2条件控制 2.3循环控制 2.4游标 2.5动态SQL 3.创建存储过程 4.创建自定义函数 5.异常处理 6.同步数据 7.创建包 8.创建日志 第6章
Oracle SQL Handler,是专为 Oracle 数据库开发人员及操作人员精心打造的一款 Oracle 客户端工具: 超智能的SQL编辑器;超方便的表格操作(可以通过修改表格的单元格数据去更新数据 库表);多种格式的数据导出包括 XLS、CSV、INSERT SQL、HTML、XML;中英文双语界面并 能切换;监控批量SQL语句的运行(在运行中可暂停、更正);不需要安装 Oracle 客户端 ;占用系统资源极少;能运行于所有的主流平台包括 Windows、Linux 、Unix 及 Mac OS; 多线程多连接。所有这些功能特性在同类工具中表现突出,甚至是本工具独有的! 还有,它能快速显示SQL的解释计划;能运行/调试 PL/SQL 语句;精确的错误定位;高 效的语句块操作;SQL格式美化;连接配置简单;自动重新连接;个性化界面设置;界面简 洁清爽;操作简便;功能实用且全面! 总之,本工具确实 “小巧、实用、方便、高效”,正是 Oralce 数据库开发人员及操作 人员所需要的强有力的工具! 是国产的,很少见吧,用过的人都说非常方便非常实用而且很强大,不逊色于同类的收费软件! 免费的产品, 强大的品质, 您还等什么! 下载网址有: http://www.onlinedown.net/softdown/91179_2.htm http://www.duote.com/soft/17069.html#downsite (请将下载的 ZIP 文件解压到一目录,鼠标双击批处理文件 start.bat 即可启动运行) 主要功能如下: 将 SELECT 语句的查询结果显示在工作表,可以直接对查询结果进行再操作,如 修改、 插入行、删除行、提交(将表格中的数据改变写入相应的数据库表中)、多功能拷贝、将选 择的单元格数据导出为 XLS /CSV /INSERT SQL /HTML /XML 等格式、单条记录操作、能方 便地查找\替换单元格中的数据、数值统计、行列移动、列排序、选择模式切换等;能方便 地查看/编辑大型的文本字段(如 CLOB、 LONG) 智能的SQL编辑器:自动弹出提示窗口,列出关键字、关键字组合、函数名、列名、对象 名、对象类型、参数、包内的过程和函数,提高SQL编辑效率。例如: (1)输入字串“sel”,一秒钟后列出以“sel”开头的所有关键字、关键字组合(如 SELECT, SELECT DISTINCT, SELECT * FROM)、函数及对象名; (2)输入字串“abc”+“.”,如果“abc”是一表名/视图,或其别名,则列出表/视图的所有列 名及数据类型;如果“abc”是一用户名,则列出该用户的所有对象;如果“abc”是一包名,则 列出包内的过程和函数; (3)输入字串“grant”+空格,列出所有权限和角色,再输入“on”+空格,列出所有对象,再 输入“to”+空格,列出所有用户名; 彩色的SQL编辑器,增强可读性: (1)关键字、注释块、引号内字符串、操作符、特殊字符等,用不同的彩色字体加以区别 ; (2)如果光标前面是一个括号,高亮度显示配对的括号 支持批量SQL语句的运行:用监控器监控每条语句的运行,在运行过程中可以中断/暂停/ 继续正在运行的语句,甚至可以更正出错误的语句 方便高效的块操作,以满足特殊需求: (1)“Format SQL” 按钮能将语句块中杂乱语句以缩进的格式进行重新编排,即格式美化; (2)“Explain Plan” 按钮能快速地显示语句的执行计划; (3)“Export” 按钮能将SQL编辑器中的 SELECT 语句块直接导出为 XLS /CSV /INSERT SQL /HTML /XML 等格式,方便于数据移植、备份、打印及存档等; (4)支持列块操作; (5)加上/去掉注释标记、加上/去掉引号、增加/减少缩进、大小写转换等 运行语句 “desc [user.]objectName[@dbLink]” 或 Ctrl+鼠标点击字串“[user.] objectName[@dbLink]”,如果是一表名,则能清楚地显示表的列信息(包括列名称、数据类 型及长度、默认值、非空)、索引、约束条件(主键、唯一键、检查键、子表、触发器、外 键、甚至外键的外键) 运行语句 “schema [user.]objectName[@dbLink]”,如果是一表名或视图名或物化视图 (快照),则显示其生成的脚本/语句 支持 PL/SQL 语句(包括 Procedure、 Function、Trigger、 Package),能够显示 DBMS_OUPTPUT.PUT_LINE 的输出;能够给出错误信息,甚至光标能够精确定位错误所在的行 列位置,方便于调试 多线程、多连接:可以创建多个会话/连接,多个会话可以同时运行,在运行过程中可以 掌控其运行状态、可以随时中断之,在运行过程中可以继续从事编辑等工作,不必等待运行 完毕才能编辑 提供对常用数据字典(如 表、视图、索引、同义词、约束、过程、触发器等)的常用 操作。例如,输入 “%NAME” 或 “NAME%” 或 “%NAME%”,能查找包含子串 “NAME” 的所有对 象名,通过弹出菜单可以对每一个对象进行操作,如修改、删除、查看等

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧