sql >> Databáze >  >> RDS >> Sqlserver

Jak používat Top with Ties v SQL Server - SQL Server / TSQL výukový program, část 114

V minulém příspěvku jsme se naučili, jak vrátit horní / dolní x řádků z tabulky serveru SQL. V tomto příspěvku se naučíme Top s kravatami.

Podle BOL
"S KRAVAMI
Používá se, když chcete vrátit dva nebo více řádků, které se shodují na posledním místě v omezené sadě výsledků. Musí být použito s klauzulí ORDER BY. WITH TIES může způsobit, že bude vráceno více řádků, než je hodnota zadaná ve výrazu. Pokud je například výraz nastaven na 5, ale 2 další řádky odpovídají hodnotám sloupců ORDER BY v řádku 5, bude sada výsledků obsahovat 7 řádků. "

Pojďme vytvořit tabulku dbo.Customer a zjistěte rozdíl mezi Top a 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')
 Všimli jsme si, že máme duplicitní záznamy, jak je zvýrazněno výše. Spusťte níže uvedené dotazy, nejprve pouze s horní částí a podruhé s výrazem "S vazbami" a sledujte výstup.

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
 
Jak používat Top with Ties na SQL Serveru k získání Top x řádků – SQL Server / Výukový program TSQL
 První dotaz vrátil pouze 2 záznamy, ale druhý dotaz s "With Ties" vrátil tři záznamy, protože hodnota pro Id pro třetí záznam byla také 1, která odpovídala druhému řádku (hodnota sloupce id=1). Pokud použijete "S remízy" s horní částí, dotaz vám také poskytne všechny vazby s posledním řádkem na základě sloupce řazení.





  1. Jak MONTHNAME() funguje v MariaDB

  2. Funkce LAST_DAY() v Oracle

  3. Počet výskytů určitého znaku v řetězci

  4. Jak převést primární klíč z celého čísla na sériový?