Според BOL
„С ВРЪЗКИ
Използва се, когато искате да върнете два или повече реда, които се равняват на последното място в ограничения набор от резултати. Трябва да се използва с клаузата ORDER BY. WITH TIES може да доведе до връщане на повече редове от стойността, посочена в израза. Например, ако изразът е зададен на 5, но 2 допълнителни реда съвпадат със стойностите на колоните ORDER BY в ред 5, резултантният набор ще съдържа 7 реда. "
Нека създадем таблица dbo.Customer и да разберем разликата между Top и 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')Забелязахме, че имаме дублиращи се записи, както е подчертано по-горе. Нека стартираме заявките по-долу, първо само с отгоре и второ с "With Ties" и наблюдаваме изхода.
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 |
Как да използвате Top with Ties в SQL Server, за да получите най-добрите x редове - SQL Server / TSQL урок |