20101021 学习记录:SELECT TOP n [PERCENT]

"SELECT TOP 10 PERCENT * from 每日产品"

"SELECT TOP 10  * from 每日产品"
有何区别?
---------------------------------------------------------------

TOP n [PERCENT]

n 指定返回的行数。如果未指定 PERCENT,n 就是返回的行数。如果指定了 PERCENT,n 就是返回的结果集行的百分比

SELECT TOP 10 PERCENT * from 每日产品
返回头上 10%的记录

 ---------------------------------------------------------------

TOP n [PERCENT] 返回特定数目的记录,且这些记录将落在由 ORDER BY 子句指定的前面或后面的范围中。假设您想要 1994 年班级里的前 25 个学生名字:SELECT TOP 25
FirstName, LastName
FROM Students
WHERE GraduationYear = 1994
ORDER BY GradePointAverage DESC;如果您没有包含 ORDER BY 子句,则查询将由学生表返回 25 个记录的任意 集合,且该表满足 WHERE 子句。TOP 谓词不在相同值间作选择。在前一示例中,如果第 25 及第 26 的最高平均分数相同,则查询将返 回 26 个记录。也可用 PERCENT 保留字返回特定记录的百分比,且这些记录将落在由 ORDER BY 子句指定的前面或后面范围中。假设用班 级后面 10% 的学生代替前 25 个学生,:SELECT TOP 10 PERCENT
FirstName, LastName
FROM Students
WHERE GraduationYear = 1994
ORDER BY GradePointAverage ASC;ASC 谓词指定返回后面的值。且接在 TOP之后的值必须是无符号的整型值。查询是否可更新,这不会受到 TOP 的影响。
---------------------------------------------------------------

使用 TOP 和 PERCENT 限制结果集
TOP 子句限制返回到结果集中的行数。

TOP n [PERCENT]

n 指定返回的行数。如果未指定 PERCENT,n 就是返回的行数。如果指定了 PERCENT,n 就是返回的结果集行的百分比,如下所示:

TOP 120 /*Return the top 120 rows of the result set. */
TOP 15 PERCENT /* Return the top 15% of the result set. */.

如果一个 SELECT 语句既包含 TOP 又包含 ORDER BY 子句,那么返回的行将会从排序后的结果集中选择。整个结果集按照指定的顺序建立并且返回排好序的结果集的前 n 行。

限制结果集大小的另一种方法是在执行一个语句之前执行 SET ROWCOUNT n 语句。SET ROWCOUNT 与 TOP 的不同之处在于: 

SET ROWCOUNT 限制适用对 ORDER BY 取值后在结果集中生成行。如果指定了 ORDER BY,SELECT 语句将在从某个已根据指定的 ORDER BY 分类进行了排序的值集中选择 n 行后终止。


TOP 子句适用于指定了该子句的单个 SELECT 语句。在执行另一个 SET ROWCOUNT 语句之前,SET ROWCOUNT 会一直有效,例如执行 SET ROWCOUNT 0 将会关闭此选项。 

---------------------------------------------------------------

"SELECT TOP 10 PERCENT * from 每日产品" 就是返回前10%的记录,不一定是十条。

"SELECT TOP 10 * from 每日产品"就是返回前十条记录。
---------------------------------------------------------------

1:返回记录总量的前10%
2:返回前十条记录
---------------------------------------------------------------

一个是计算值,另一个是指定的值
---------------------------------------------------------------

一個是百分之十的數據   一個是前十條數據
---------------------------------------------------------------

TOP 子句限制返回到结果集中的行数。

TOP n [PERCENT]

n 指定返回的行数。如果未指定 PERCENT,n 就是返回的行数。如果指定了 PERCENT,n 就是返回的结果集行的百分比,如下所示:

TOP 120 /*Return the top 120 rows of the result set. */
TOP 15 PERCENT /* Return the top 15% of the result set. */.

如果一个 SELECT 语句既包含 TOP 又包含 ORDER BY 子句,那么返回的行将会从排序后的结果集中选择。整个结果集按照指定的顺序建立并且返回排好序的结果集的前 n 行。

限制结果集大小的另一种方法是在执行一个语句之前执行 SET ROWCOUNT n 语句。SET ROWCOUNT 与 TOP 的不同之处在于: 

SET ROWCOUNT 限制适用对 ORDER BY 取值后在结果集中生成行。如果指定了 ORDER BY,SELECT 语句将在从某个已根据指定的 ORDER BY 分类进行了排序的值集中选择 n 行后终止。


TOP 子句适用于指定了该子句的单个 SELECT 语句。在执行另一个 SET ROWCOUNT 语句之前,SET ROWCOUNT 会一直有效,例如执行 SET ROWCOUNT 0 将会关闭此选项。

 

转载于:https://www.cnblogs.com/neru/archive/2010/10/23/1858851.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值