不是我写的sql,比较烂,但是有一个可以关注的点 oracle对于双引号中的列名 不会进行强制转化为大写
create table grade("ID" NUMBER(10,0) NOT NULL ENABLE, "score" NUMBER(10,0));
INSERT INTO grade t VALUES(1,100);
commit;
INSERT INTO grade t VALUES(2,90);
commit;
INSERT INTO grade t VALUES(3,94);
commit;
INSERT INTO grade t VALUES(4,94);
commit;
INSERT INTO grade t VALUES(5,100);
commit;
1:
select o.id,o."score"
from grade o
where o."score" = (select max(n."score") from grade n where n."score"
2:
select n.id from grade n where n."score"=(
select t."score" from (
select m."score" from grade m where m."score"
select max(n."score") from grade n
) order by m."score" desc
) t where rownum<2
) order by n.id