シナリオ:
SQL Server開発者として働いている場合は、テーブルから個別の(異なる)レコードを取得する必要があります。テーブルから一意のレコードを取得するためにどのステートメントを使用しますか。
解決策:
Select Distinctを使用して、テーブルからさまざまなレコードを取得できます。 Selectdistinctの構文は次のとおりです。Selectdistinct Column1、Column2、Column3 ....fromSchemaName.TableName。
サンプルのdbo.Customerテーブルを作成してから、テストレコードを挿入します。以下のステートメントを使用します。
--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')ご覧のとおり、レコード1、「Aamir」、「XyZアドレス」が重複しています。このテーブルから個別のレコードを取得したい場合は、以下のクエリを使用できます。すべての列が選択に含まれている場合は、以下に示すように*を使用するか、列の名前を入力できます。
Select distinct * From dbo.Customerを選択します。
OR
Select distinct ID,Name,Address From dbo.Customer
SQLServerテーブルから個別のレコードを取得する方法-SQLServer/TSQLチュートリアル |
必要に応じて、1つ以上の列でいつでもdistinctを実行できます。 dbo.Customerテーブルから個別の名前のみを取得する場合は、以下のクエリを使用できます。
Select distinct Name From dbo.Customer
SQL ServerのSelectクエリでDistinctを使用して、個別の(差分)レコードを取得する方法 |