oracle 查询语句 结果集中要求有多个按照某列排列的顺序号

问题描述

已经写好select 姓名,语文,数学,英语  from 成绩表 要求结果集如下:姓名语文语文名次数学数学名次英语英语名次张三801442132李四702501661 该怎么弄呢?

解决方案

你可以试用oracle 的 rank()函数进行处理,具体使用你可以参考其它文档
解决方案二:
select e.姓名,英语,e.rk,语文,c.rk,数学,m.rk(select 姓名,英语,rownum rk from 成绩表 order by 英语 desc) ejoin (select 姓名,语文,rownum rk from 成绩表 order by 语文 desc) c on e.姓名=c.姓名join (select 姓名,数学,rownum rk from 成绩表 order by 数学 desc) m on e.姓名=m.姓名
解决方案三:
可以根据不同的排序,在后台条件判断,对sql语句做拼接

时间: 2024-10-02 17:01:31

oracle 查询语句 结果集中要求有多个按照某列排列的顺序号的相关文章

45 个非常有用的 Oracle 查询语句

​   这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧! 日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 "SYSDATE"来指定查询的日期. 1 SELECT TRUNC (SYSDATE, 'MONTH') "First day of current mo

oracle查询语句老是报ORA-00907缺失右括号

问题描述 oracle查询语句老是报ORA-00907缺失右括号 --大家好,我有一条oracle查询语句老是报ORA-00907缺失右括号的错误,能不能帮我看一下,谢谢: --统计毕业班等级考试最佳成绩 select distinct e.xy 学院, e.xzb 班级, e.xh 学号, e.xm 姓名, a.cet3 英语三级, b.cet4 英语四级, c.cet6 英语六级, d.computer 计算机 from ((select xh, xm, djksmc, max(cj) ce

oracle查询语句 一个加t 一个不加t 结果竟然不同 求大神解释

问题描述 oracle查询语句 一个加t 一个不加t 结果竟然不同 求大神解释 如题 oracle查询语句 一个加t 一个不加t 结果竟然不同 求大神解释 解决方案 我在虚拟机里进行的操作,屏幕显示的有显所以两行被选择,点击获取下一页就都出来了0.0~~~~~~~~233 解决方案二: 第二个图片里你查询后把那个一拉到底点下,数据就出来了 解决方案三: 哈哈自己的小失误 解决方案四: 是不是有其他人在操作呢? 所有的表均出现这种情况吗? 解决方案五: 童鞋!我看了半天也没发现哪不同.. 解决方案

Oracle查询语句中rownum与rowid的不同之处分析_oracle

本文主要是以实例形式介绍了Oracle查询中rownum与rowid的不同之处,以及以假设的方式为例,查询条件为rownum = 2,在查询出第一条记录时的具体内容的介绍. 在查询中,我们可以注意到,类似于 select xx from table where rownum < n (n>1) 这样的查询是有正确含义的,而 select xx from table where rownum = n 这样的查询只在n=1的时候成立, select xx from table where rown

新手求教,C#如果一次执行多条ORACLE查询语句并显示到界面上。

问题描述 1.要连接远程ORACLE数据库2.查询结果显示到界面上,(DataGridView?).最好能支持导出EXCEL.3.假设3条查询语句分别是:(1)...select*fromtext1(2)...select*fromtext2(3)...select*fromtext3求详细代码,谢谢指点. 解决方案 本帖最后由 u011124658 于 2014-12-03 17:29:44 编辑解决方案二:1:去msdn上搜索连接方式2:绑定不难,设置显示字段即可.导出:3:去msdn上搜索

45个非常有用的 Oracle 查询语句小结_oracle

日期/时间 相关查询 1.获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 "SYSDATE"来指定查询的日期. 复制代码 代码如下: SELECT TRUNC (SYSDATE, 'MONTH') "First day of current month"     FROM DUAL; 2.获取当前月份的最后一天 这个查询语句类似于上面那个语句,而且充分照顾到了闰年,所以当二月份有 29 号,那么就会返回 29/2 .你可以用任

[数据库] SQL查询语句表行列转换及一行数据转换成两列

本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两列数据的方法.子查询的应用.decode函数的用法.希望文章对你有所帮助~ 1.创建数据库表及插入数据 2.子查询统计不同性质的学生总数 3.一行数据转换成两列数据 union all 4.表行列数据转换(表转置) 1.创建数据库表及插入数据 创建数据库.创建学生表并设置主键.插入数据代码如下: --创建数据库 create database StudentMS --使用数据库 use StudentMS --创建学生

oracle查询语句大全

1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username; 3.connect username/password//进入. 4.select table_name,column_name from user_tab_columns

oracle查询语句大全(oracle 基本命令大全一)

来源:http://www.jb51.net/article/40467.htm 1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username; 3.connect username/password//进入. 4.select tabl