SQL WITH TIES语句

本文介绍了SQL中使用TOP N和百分比返回特定数量记录的方法,包括如何使用TOP10、TOP10 PERCENT以及带有TIES的查询,通过实例演示了如何高效获取数据。

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

  我们有时需要返回特定数量的记录,而不管符合条件的行有多少。要返回排在前面的值,可以有两个选择:指定固定数量的行,或者指定总行数的百分比。例如以下查询将返回前10个价格最高的产品。

 SELECT TOP 10 Name,ListPrice
  FROM Production.Product
 ORDER BY ListPrice DESC

   SQL Server不对这些数据做任何分析,甚至在截断列表时,也不会考虑这些值是不是已经排过序,上述查询将在返回第10行后截断结果,而不管后面还有多少条记录的ListPrice与第10行的ListPrice相同,如果想把与第10行相同价格的行也包含进来,可以使用一下查询:

 SELECT TOP 10 WITH TIES Name,ListPrice
 FROM Production.Product
 ORDER BY ListPrice DESC

 

 上面的这条查询将会返回13行,原因在于第11、12、13行中的ListPrice值都与第10行相同。

  下面的查询是使用百分比来返回结果集:

 SELECT TOP 10 PERCENT WITH TIES Name,ListPrice
 FROM Production.Product
 ORDER BY ListPrice DESC

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值