@[TOC]数据库
MySQL与Oracle查询表倒序并显示前10条
一、MySQL
1.查询学生表所有数据并按成绩列倒序排序
select * from student order by student.grade desc
2.查询学生表成绩前十学生并显示名字及成绩
select student.name,student.grade order by student.grade desc limit 10
二、Oracle
1.查询学生表所有数据并按成绩列倒序排序
select * from student order by student.grade desc
2.查询学生表成绩前十学生并显示名字及成绩
select student.name,student.grade from (select * from student order by student.grade desc ) where rownum <=10
总结
oracle怎样查询前多少条记录
“在oracle中,可以利用where子句配合rownum来查询前十条记录,where子句用于限制查询的条件,rownum用于限制返回查询的总行数,语法为“select * from 表名 where rownum <=10”。
在sql server里是使用top来表示前10条的信息。MYSQL 用limit 10。 在oracle中是使用rownum<=10 来表示前10条的信息。
在oracle中使用开窗涵数时要注意 ROWNUM 的排序先后顺序。
oracle 的rownum<=10 会取出该表的前10条数据。
一般情况:select * from test where rownum<=10
但是如果使用了order by 查询出来的就不是你想要的前十条
错误:
select * from test where rownum<=10 order by statedate desc 该查询会先取出test表中的前10条,然后进行排序
正确
select * from (select * from test order by statedate desc ) where rownum<=10 该查询会先将test表进行排序再取出前10条