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
本文详细解析了SQL中TOP关键字结合WITH TIES子句的使用方法,特别是当需要处理相同值的情况时如何确保所有相同值都被正确地返回。通过具体示例说明了在不同场景下如何调整查询以达到预期结果。
1064

被折叠的 条评论
为什么被折叠?



