sql >> Database >  >> RDS >> Sqlserver

Hoe Top with Ties te gebruiken in SQL Server - SQL Server / TSQL Tutorial Part 114

In het laatste bericht hebben we geleerd hoe we de bovenste / onderste x-rijen van de SQL-servertabel kunnen retourneren. In dit bericht leren we Top met stropdassen.

Volgens BOL
"MET BANDEN
Gebruikt wanneer u twee of meer rijen wilt retourneren die gelijk zijn voor de laatste plaats in de set met beperkte resultaten. Moet worden gebruikt met de ORDER BY-clausule. WITH TIES kan ertoe leiden dat er meer rijen worden geretourneerd dan de waarde die is opgegeven in expressie. Als expressie bijvoorbeeld is ingesteld op 5 maar 2 extra rijen overeenkomen met de waarden van de ORDER BY-kolommen in rij 5, bevat de resultaatset 7 rijen. "

Laten we de tabel dbo.Customer maken en het verschil ontdekken tussen Top en 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')
 Merk op dat we dubbele records hebben, zoals hierboven aangegeven. Laten we de onderstaande query's uitvoeren, eerst met alleen Top en ten tweede met "With Ties" en de uitvoer bekijken.

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
Select top (2) WITH TIES * From dbo.Customer order by ID
 
Top met Ties in SQL Server gebruiken om Top x-rijen te krijgen - SQL Server / TSQL-zelfstudie
 De eerste query leverde slechts 2 records op, maar de tweede query met "Met banden" leverde drie records op, aangezien de waarde voor Id voor de derde record ook 1 was die overeenkwam met de tweede rij (id column value=1). Als u "Met Ties" met Top gebruikt, geeft de zoekopdracht u ook alle banden met de laatste rij op basis van de volgordekolom.





  1. Hoe extraheer je een numerieke waarde uit een string in een MySQL-query?

  2. Voorwaardelijke WHERE-clausule met CASE-instructie in Oracle

  3. Een PostgreSQL-reeks naar een veld maken (wat niet de ID van de record is)

  4. Wat doen aanhalingstekens rond de tabelnaam precies?