Select 语句如果包括top关键字和with ties子句,则返回结果时,如果有多个值相同,则全部返回。在MSDN中这样解释:
Quote
With Ties
指定视图将包括 WITH TIES 子句。如果视图包含 ORDER BY 子句和基于百分比的 TOP 子句,WITH TIES 将非常有用。如果设置了该选项,并且百分比截止位置在一组行的中间,且这些行在 ORDER BY 子句中具有相同的值,则视图将会扩展,以包含所有这样的行。(仅适用于 SQL Server 7.0 或更高版本。)
指定视图将包括 WITH TIES 子句。如果视图包含 ORDER BY 子句和基于百分比的 TOP 子句,WITH TIES 将非常有用。如果设置了该选项,并且百分比截止位置在一组行的中间,且这些行在 ORDER BY 子句中具有相同的值,则视图将会扩展,以包含所有这样的行。(仅适用于 SQL Server 7.0 或更高版本。)
举个例子,在一个表student中有10条记录,主键是id,有一个字段是age,五条值是10,五条值是11,则
Select
top
3
*
from
student oder
by
age
desc
Select
top
3
*
from
student oder
by
age
desc
,id
desc