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

Jak získat odlišné záznamy z tabulky v SQL Server - SQL Server / TSQL Tutorial 112

Scénář:

Pracujete jako vývojář SQL Serveru, potřebujete získat odlišné (odlišné) záznamy z tabulky. Který příkaz použijete k získání jedinečných záznamů z tabulky.


Řešení:

Vybrat odlišné lze použít k získání různých záznamů z tabulky. Syntaxe pro Select different je

Select different Column1, Column2, Column3.... from SchemaName.TableName.

Pojďme vytvořit ukázkovou tabulku dbo.Customer a poté vložit testovací záznamy pomocí níže uvedených příkazů.

--Create dbo.Customer table
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')
,(3,'John','XyZ Address')
 
 Jak můžete vidět, máme duplicitní záznam 1,'Aamir','XyZ Address. Nyní, pokud bychom chtěli získat odlišné záznamy z této tabulky, můžeme použít níže uvedený dotaz. Pokud jsou ve vašem výběru zahrnuty všechny sloupce, můžete použít *, jak je uvedeno níže, nebo zadat názvy sloupců.

Select distinct * From dbo.Customer
 
OR
Select distinct ID,Name,Address From dbo.Customer
 
Jak získat odlišné záznamy z tabulky SQL Server – SQL Server / Výukový program TSQL
 
Jak vidíme, náš dotaz vrátil odlišné záznamy. V tabulce jsme měli duplicitní záznamy, ale zobrazuje se pouze odlišně, protože jsme použili Distinct v našem příkazu Select.

Pokud chcete, můžete vždy spustit odlišně na jednom nebo více sloupcích. Pokud chci získat pouze odlišná jména z tabulky dbo.Customer, mohu použít níže uvedený dotaz.

Select distinct Name From dbo.Customer
Jak používat Distinct ve výběrovém dotazu na SQL Server k získání odlišných (rozdílných) záznamů


 


  1. Vraťte aktuální název pracovní stanice, která je připojena k serveru SQL (T-SQL)

  2. NULL v MySQL (výkon a úložiště)

  3. Práce s jazykem SQL (Structured Query Language) pomocí Microsoft Access 2010, 2013, 2016 a 2019

  4. Nelze najít sloupec dbo nebo uživatelem definovanou funkci nebo agregaci dbo.Splitfn nebo je název nejednoznačný