@[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条
文章介绍了在MySQL和Oracle数据库中如何查询表数据并按特定列倒序排列,特别是如何获取前10条记录。在MySQL中使用`LIMIT`语句,而在Oracle中则需结合`ROWNUM`。注意在Oracle中,如果先排序后使用`ROWNUM`,需使用子查询确保正确结果。
1686





