【SQL初步】使用TOP限制结果集

本文介绍了在SQL查询中,如何使用TOP谓词来限制返回的结果集,特别是在只需要前几行数据的情况下。TOP n用于获取前n行,TOP n percent获取前n%的数据,WITH TIES选项则用于包含与最后一条记录值相等的行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    当使用SELECT语句进行查询时,有时只希望列出结果集中的前几行数据,而不是全部数据。例如,竞赛时,可能只能取成绩最高的前三名,这时就可以使用TOP谓词来限制输出的结果。

使用TOP谓词的语法格式:TOP n [percent] [WITH TIES]  其中n为非负数

TOP n : 取查询结果前n行数据

TOP n percent : 取查询结果的前n%行数据

WITH TIES : 表示包括最后一行取值并列的结果

WITH TIES指定从基本结果集中返回额外的行,对于 ORDER BY 列中指定的排序方式参数,
这些额外的返回行的该参数值与 TOP n (PERCENT) 行中的最后一行的该参数值相同。
只能在 SELECT 语句中且只有在指定了 ORDER BY 子句之后,才能指定 TOP...WITH TIES。
注意:返回的记录关联顺序是任意的。ORDER BY 不影响此规则。
例如:
“从100万条记录中的得到成绩最高的记录”。通常用:
select top 1 * from student order by score desc
但是如果有几个人分数并列第一,这样就只能取到一个记录。用下面的代码的话,就可以正确地取出分数第一的所有记录:
select top 1 with ties * from student order by score desc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值