当使用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