mssql sqlserver with ties关键字的用法简介


摘要:
with ties 关键字需结合top order by 关键一起使用,
功能为:在sql脚本返回 top n条数据时,将 n+1..n+*中 字段值等于排序字段值得数据显示出来
with ties:显示额外排序值


例:

create table A(keyId int identity,name varchar(10),qty int)
go
insert into A(name,qty)values('a',1),('B',2),('C',3),('D',4)
insert into A(name,qty)values('E',10),('F',201),('H',6),('I',10)
go
select top 2 with ties * from A 
order by qty desc 
/*
-------------输出-------------
由于第二条 qty =10 所以会在
后续的数据中找到qty=10的数据,
并额外附加到返回集中
------------------------------
keyId name qty
6	   F	201
5	   E	10
8	   I	10
*/
go
select top 2 with ties * from A 
order by qty,name desc 
/*
-------------输出-------------
由于第二条 qty =2,name='B' 所以会在
后续的数据中未找到qty =2,name='B'的数据
所以只返回2条数据
------------------------------
keyId name qty
1	   a	1
2	   B	2
*/
go
drop table A 
mssql_sqlserver_with_ties关键字用法说明

mssql_sqlserver_with_ties关键字用法说明