精通MS-ACCESS SQL之基础篇(10)-Big Young
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-查询/SQL语句


精通MS-ACCESS SQL之基础篇(10)

发表时间:2017/11/30 11:22:12 评论(1) 浏览(4014)  评论 | 加入收藏 | 复制
   
摘 要:    TOP-N查询的用法。
正 文:

        第十节 利用TOP-N查询对记录进行筛选

在实际工作中,我们经常会遇到诸如查询最热门的10篇文章、业绩最好的20名员工、收入最高30人或企事业世界500强等诸如此类返回满足条件的n条记录的情况,在SQL语言中,可以使用TOP关键字来实现。

一、TOP-N查询的基本语法

Select TOP number [PERCENT] column_name(s)

FROM table_name

Where condition;

这里“number”是一个正整数,代表将要提取的记录的行数;“column(s)”是字段列表,就是查询要显示的列名;“table_name”是被操作的表的名字;“condition”对记录进行筛选的条件。

TOP关键字在SQL语言中用来限制返回结果集中的记录条数,而PERCENT关键字用来限制返回结果在记录集中所占百分比数相当的记录条数。其使用方法下面我们来详细的介绍:

二、返回确定数目的记录个数

    语法格式:Select TOP n <字段列表> FROM <表名> [筛选条件]

其中,n为要返回结果集中的记录条数。

下面以实例来说明其用法,如在考试管理数据库中,我们有一张名为考试成绩的表,记录的是考生的考试成绩数据,像如下图10-1所示:

10-1:学生考试成绩表

现在我们想要找出成绩最高的10考生,我们可以使用如下的SQL查询:

Select TOP 10 考生号, 姓名, 语文, 数学, 英语, 综合, (语文+数学+英语+综合) AS 总分 FROM 考试成绩 ORDER BY (语文+数学+英语+综合) DESC;

如图10-2所示:

10-2:查询总分最高的前10名考生信息

执行此查询,我们想根的考试成绩最好的前10名考生就展现在我们面前,结果如图10-3所示:

10-3:查询出的总分最高的前10名考生

 

三、返回结果集中指定百分比的记录数

有时候,我们想了解在整个集体中前百分之几的个体的情况,我们就会用到TOP-N PERCENT格式的查询语句,其语法格式:

Select TOP n PERCENT <字段列表> FROM <表名> [查询条件]

其中,n为所返回的记录数所占结果集中记录数目的百分比数。下面以实例来说明:

我们还是使用前面的“考试成绩”表来说明问题,现在我们想要了解总分靠前的15%的考生的情况,我们可以利用这样的SQL查询语句:

Select TOP 15 PERCENT 考生号, 姓名, 语文, 数学, 英语, 综合, (语文+数学+英语+综合) AS 总分 FROM 考试成绩 ORDER BY (语文+数学+英语+综合) DESC;

如图10-4所示:

10-4:提取总分靠准的15%的考生信息的查询

运行该查询,就可以了解到总分最靠前的15%的考生的信息,如图10-5所示:

10-5:总分最靠前的15%的考生的查询结果

    在具体使用过程中,可以结合条件子句(筛选记录)和排序子句(如何进行排序)等实现较为丰富的功能,这里就不一一说明了,大家可以自行探索。


Access软件网交流QQ群(群号:198465573)
 
 相关文章
精通MS-ACCESS SQL之基础篇(07)  【Big Young  2017/11/17】
精通MS-ACCESS SQL之基础篇(08)  【Big Young  2017/11/24】
精通MS-ACCESS SQL之基础篇(09)  【Big Young  2017/11/27】
精通MS-ACCESS SQL之基础篇(11)  【Big Young  2017/11/30】
精通MS-ACCESS SQL之基础篇(12)  【Big Young  2017/12/1】
精通MS-ACCESS SQL之基础篇(13)  【Big Young  2017/12/4】
常见问答
技术分类
相关资源
文章搜索
关于作者

Big Young

文章分类

文章存档

友情链接