当前位置:首页 » 数据仓库 » 数据库查询前20的数据
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库查询前20的数据

发布时间: 2022-04-25 13:00:40

⑴ 要取出数据库中按某字段排序后的前10,20,30条数据要怎么做

可以使谓词Top n来定实现这个需求。例如:

select top 10 * from tableName order by colName;

select top 20 * from tableName order by colName;

select top 30 * from tableName order by colName;

sql查询排序后前20条语句

SELECTC.DFROM(

SELECTC,D,ROWNUM RNFROM(

SELECTT.*FROMTABLE1 ORDER BY B DESC --降序

) T1

)WHERERN <= 20

注:用ROWNUM的话,你要先排好序,然后再用ROWNUM生成伪列,再限制行数。

(2)数据库查询前20的数据扩展阅读:

关于sql语句查询排序

一、sql查询单词

order by 是用在where条件之后,用来对查询结果进行排序

order by 字段名 asc/desc

asc 表示升序(默认为asc,可以省略)

desc表示降序

order by 无法用于子查询,否则会报错:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

二、关联查询(左外查询)(jt项目菜单查询)

<select id="findObjects" resultMap="map">

select c.*,p.name parentNam

from sys_menus c left join sys_menus p

on c.parentId=p.id

三、用ORDER BY 子句

SELECT <列名列表> FROM <表名>[WHERE 条件]ORDER BY <字段名1> [ASC|DESC] [ ,字段名2 [ASC|DESC] ] [,...n]--order by <字段名1> (不写ASC|DESC, 则默认升序ASC)

⑶ 如何查询数据库中排名前几位的数据

方法一: select top 10 * from 表名 order by 列名 方法二: select top 10 percent * from 表名 order by 列名 方法一:是按照指定列名排序后,取前十个方法二:按照指定列名排序后,取总数的10% 希望能够满足您的需求,谢谢采纳

⑷ 数据库查询语句怎样查询一个表中的第15到第20条数据

用row_number来查询。

具体方法如下:

以sqlserver2008R2为例。

1、创建数据表插入数据:

createtabletest
(idint,
namevarchar(20))
insertintotestvalues(1000,'张三')
insertintotestvalues(1001,'李四')
insertintotestvalues(1002,'王五')
insertintotestvalues(1003,'赵六')
insertintotestvalues(1004,'孙七')
insertintotestvalues(1005,'杨八')
insertintotestvalues(1006,'刘九')
insertintotestvalues(1007,'李白')
insertintotestvalues(1008,'杜甫')
insertintotestvalues(1009,'白居易')
insertintotestvalues(1010,'王安石')
insertintotestvalues(1011,'范仲淹')
insertintotestvalues(1012,'老子')
insertintotestvalues(1013,'庄子')
insertintotestvalues(1014,'孙子')
insertintotestvalues(1015,'乔丹')
insertintotestvalues(1016,'詹姆斯')
insertintotestvalues(1017,'韦德')
insertintotestvalues(1018,'罗德曼')
insertintotestvalues(1019,'梅西')
insertintotestvalues(1020,'内马尔')

2、执行语句,查询从id由小到大,然后找出第15到第20位的数据:

selectt.id,t.name,t.rnfrom
(selecttest.*,row_number()over(orderbyid)rnfromtest)t
wheret.rnbetween15and20

执行结果如下:

其中红框部分即为排名信息。

⑸ SQL语句,提取表中数量最大数的前20个! 加分!

这个sql不用max就可以吧 反向排序就可以了
select top 20 * from book order by reads desc

⑹ 数据库sql查询语句,关于班级信息,如下:学生名字,编号,班级,成绩,把每个班级最大成绩前20名,列出来

若为oracle数据库,则使用rownom来进行查询
select * from
(
select * from 班级信息
order by 成绩 desc
)
where rownom<=20
;
-------推荐答案oracle数据库那个sql语句有问题,查出来的还是表里面前20条数据,只是把这20条数据给降序排列了,而不是最大成绩的前20.
--------------------------------------
若为sqlserver,则为
select top 20 成绩
from 班级信息
order by 成绩 desc

⑺ 查询数据库中的前10条记录

SQL Server查询前N条记录:
因为id可能不是连续的,所以不能用取得10<id<20的记录的方法。
有三种方法可以实现:
一、搜索前20条记录,指定不包括前10条
语句:
select top 20 * from tbl where id not in (select top 10 id from tbl)

二、搜索记录生成临时表,建立临时表的自增id。通过取得自增id的10<id<20的记录的方法取得所需数据
语句:
select identity(int,1,1) as id,* into #temp from tbl;
select * from #temp where id between 10 and 20
第二个方法实际上是两条语句,但你可以让他连续执行,就像一条语句一样完成任务。
三、如果觉得第一种方法效率太低,经过讨论,得出第三种方法:
语句:
SELECT TOP 10 * FROM (SELECT TOP 20 * FROM tblORDER BY id) as tbl2 ORDER BY tbl2.id DESC

⑻ 在SQL中怎样查询一个表的第20条数据到30条数据

1、创建测试表,

create table test_order(id number , value varchar2(20));

⑼ access数据库 怎么查询前20条记录

select top 20 * from table

⑽ 怎么才能查出sql数据库中某一表中的10-20条的数据 哪位知道啊 请不吝赐教啊 不好意思分弄光了,没有了

您好!
数据库表中的数据是没有顺序的,所以你说的10-20条的数据就必须的有个条件,也就是说
where
某列名
=
XXX,那么咱们
以Id
列来说吧
sql
语句
select
top
10
*
from
表名
where
id
not
in(select
top
10
id
from
表名)
这个语句是子查询就是说先查出前10条数据,然后再去查这个表去掉前10条的剩下的所有数据的前10条。明白了吗?以下是
通用的分页语句,比较简单
SELECT
TOP
页大小
*
FROM
TestTable
WHERE
ID
NOT
IN
(SELECT
TOP
页大小*页数
id
FROM

ORDER
BY
id))
ORDER
BY
ID