Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erhalten Sie Distinct Records aus einer Tabelle in SQL Server - SQL Server / TSQL-Tutorial 112

Szenario:

Sie arbeiten als SQL Server-Entwickler und müssen eindeutige (unterschiedliche) Datensätze aus einer Tabelle erhalten. Welche Anweisung verwenden Sie, um eindeutige Datensätze aus einer Tabelle zu erhalten.


Lösung:

Select unique kann verwendet werden, um verschiedene Datensätze aus einer Tabelle zu erhalten. Die Syntax für „Eindeutig auswählen“ ist

Eindeutige Spalte1,Spalte2, Spalte3 auswählen.... aus SchemaName.Tabellenname.

Lassen Sie uns eine dbo.Customer-Beispieltabelle erstellen und dann Testdatensätze einfügen indem Sie die folgenden Anweisungen verwenden.

--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')
 
 Wie Sie sehen können, haben wir den doppelten Datensatz 1, „Aamir“, „XyZ-Adresse“. Wenn wir nun unterschiedliche Datensätze aus dieser Tabelle erhalten möchten, können wir die folgende Abfrage verwenden. Wenn alle Spalten an Ihrer Auswahl beteiligt sind, können Sie * wie unten gezeigt verwenden oder die Namen der Spalten eingeben.

Select distinct * From dbo.Customer
 
OR
Select distinct ID,Name,Address From dbo.Customer
 
So erhalten Sie eindeutige Datensätze aus der SQL Server-Tabelle - SQL Server / TSQL-Tutorial
 
Wie wir sehen können, hat unsere Abfrage unterschiedliche Datensätze zurückgegeben. Wir hatten doppelte Datensätze in der Tabelle, aber sie zeigt nur „distinct“ an, da wir „distinct“ in unserer Select-Anweisung verwendet haben.

Sie können „distinct“ immer für einzelne oder mehrere Spalten ausführen, wenn Sie möchten. Wenn ich nur eindeutige Namen aus der dbo.Customer-Tabelle erhalten möchte, kann ich die folgende Abfrage verwenden.

Select distinct Name From dbo.Customer
Wie man Distinct in der Select-Abfrage in SQL Server verwendet, um unterschiedliche (Differenz-)Datensätze zu erhalten