BOLによると
"WITH TIES
限定された結果セットの最後の場所に関連する2つ以上の行を返したい場合に使用されます。 ORDERBY句と一緒に使用する必要があります。 WITH TIESを使用すると、式で指定された値よりも多くの行が返される場合があります。たとえば、式が5に設定されているが、追加の2行が行5のORDER BY列の値と一致する場合、結果セットには7行が含まれます。 "
dbo.Customerテーブルを作成して、TopとTopWithTiesの違いを確認しましょう。
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')上記で強調表示されているように、重複するレコードがあることに注意してください。以下のクエリを実行してみましょう。最初はTopのみで、2番目は "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 |
SQLServerでTopwithTiesを使用してTopx行を取得する方法-SQLServer/TSQLチュートリアル |