Enligt BOL
"WITH TIES
Används när du vill returnera två eller fler rader som är lika för sista plats i den begränsade resultatuppsättningen. Måste användas med ORDER BY-satsen. WITH TIES kan orsaka att fler rader returneras än värdet som anges i expression. Om uttrycket till exempel är inställt på 5 men ytterligare 2 rader matchar värdena i ORDER BY-kolumnerna på rad 5, kommer resultatuppsättningen att innehålla 7 rader. "
Låt oss skapa dbo.Customer-tabell och ta reda på skillnaden mellan Top och Top With Ties.
Create table dbo.Customer( Id int, Name VARCHAR(10), Address VARCHAR(100)) --Insert records in dbo.Customer table Insert into dbo.Customer Values(1,'Aamir','XyZ Address') ,(2,'Raza',Null) ,(1,'Aamir','XyZ Address') ,(1,'John','XyZ Address') ,(5,'Lisa','XyZ Address')Har märkt att vi har dubbletter av poster som markerats ovan. Låt oss köra frågorna nedan, först med endast Top och andra med "With Ties" och observera resultatet.
Select top (2) * From dbo.Customer order by ID
how to use Top x to get top records from table in SQL Server - TSQL Tutorial |
Hur man använder Top with Ties i SQL Server för att få Top x rader - SQL Server / TSQL Tutorial |