编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

SQL中的TOP N(SQL中的regexp)

wxchong 2024-07-22 22:29:17 开源技术 42 ℃ 0 评论

在 SQLSERVER 中 TOP (N) PERCENT 用于返回N条或%N的结果集,对于大数据量表的查询非常方便。其中PERCENT 代表百分比,PERCENT也可以省略,省略时TOP (N) 是返回N条结果集。TOP在日常的查询语句中应用比较广泛,特别是在分页查询,根据特定字段排序并返回特定行数的场景下。


现在创建一张测试表学生信息表,以查询表中年龄最大的前五名学生为例,编写下面的查询SQL:

select top 5 * from dbo.student order by age desc

返回的结果集为:

如果我们需要返回18条记录中占比百分之五且年龄最大的记录,就需要这样编写SQL:

select top 5 PERCENT * from dbo.student order by age desc

返回的结果集为:

发现返回的行数为18*0.05 = 0.9 向上取整的值1 。

一般场景下,TOP对查询性能也有很大的提升,因为返回N条记录普遍比返回表中所有行数消耗的数据库资源要少,时间也更短。但在一些特殊的场景下,TOP N却比不使用TOP N的语句效率要低。

10+年DBA老司机带你轻松玩转 SQL-慕课专栏

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表