解决方案 »
- oracle问题。Java程序运行速度越来越慢。。经过测试程序没有问题。数据库压力 服务器压力也没问题。。有什么细节方面要注意呢?
- 关于PLSQL中使用DB_LINK写表,速度很慢--请教
- oracle PACKAGE 和存储过程问题,这次不是应该不是分号问题了
- 谁sql/develop和中文帮助,文本,excel用什么工具导入oracle9i?详细!!!
- 请问如何在ORACLE9I的客户端,将ORACLE9I的服务器的数据库导到另外一台单独的ORACLE9I服务器?
- 问一个sql语句,请大家进来!
- 触发器怎么避免死循环?
- 在delphi程序里面如何访问别的计算机上的oracle数据库?
- update的问题!急等!
- 今天买了一个oracle9i,3张碟的,可安装的时候却。。。。。。。。。。。。
- 一个按字段顺序对比内容的问题
- 新人发帖问个关于怎么把oracle的存储过程改成sqlServer的(有代码))
with tb_test as(
select 2 "年级" ,1 "班级" ,'英语' "科目" ,'王五' "姓名" ,88 "分数" from dual union
select 2 ,1 ,'数学' ,'麻六' ,79 from dual union
select 2 ,2 ,'英语' ,'小七' ,69 from dual union
select 3 ,1 ,'英文' ,'蕫永' ,92 from dual union
select 3 ,4 ,'语文' ,'牛群' ,84 from dual union
select 3 ,4 ,'语文' ,'蕫永' ,91 from dual
)
select "年级","班级","科目","姓名","分数"
from
(
select t.*,rank() over(partition by "年级" ,"班级" ,"科目" order by "分数" desc ) rnk
from tb_test t
) t_1
where rnk = 1
如果两个第二名时接下来就是第四名还是第三名?如果是前者、1楼的rank() over()可以、如果是后者请用dense_rank()over()
CREATE TABLE chengji
(
nianji NUMBER(2),
banji NUMBER(2),
kemu VARCHAR2(5),
xingming VARCHAR2(10),
fenshu NUMBER(2)
)insert INTO chengji values(2,1,'英语','王五',88);
insert INTO chengji values(2,1,'数学','麻6',79);
insert INTO chengji values(2,2,'英语','小7',69);
insert INTO chengji values(3,1,'英语','蕫永',92);
insert INTO chengji values(3,4,'语文','牛群',84);
insert INTO chengji values(3,4,'语文','蕫永',91);SELECT * FROM chengjiSELECT xingming FROM chengji WHERE fenshu IN(SELECT MAX(fenshu) FROM chengji GROUP BY nianji,banji,kemu)
where t.分数=
(select max(分数) from t1 where t.年级=t1.年级
and t.班级=t1.班级)
select 年级,班级,科目,姓名,分数 from
chengji a,(select 年级,班级,科目,max(分数) from chengji group by 年级,班级,科目) b
where a.年级=b.年级 and a.班级=b.班级 and a.科目=b.科目 and a.分数=b.分数;
这样可以同时查出班级中有并列最高分的学生姓名。
in
(select 年级,班级,max(分数) from tab_name);