sql >> データベース >  >> RDS >> Sqlserver

SQLServerのテーブルから個別のレコードを取得する方法-SQLServer/TSQLチュートリアル112

    シナリオ:

    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チュートリアル
     
    クエリが個別のレコードを返したことがわかります。テーブルに重複するレコードがありましたが、SelectステートメントでDistinctを使用したため、distinctのみが表示されます。

    必要に応じて、1つ以上の列でいつでもdistinctを実行できます。 dbo.Customerテーブルから個別の名前のみを取得する場合は、以下のクエリを使用できます。

    Select distinct Name From dbo.Customer
    SQL ServerのSelectクエリでDistinctを使用して、個別の(差分)レコードを取得する方法


     


    1. 単一のSQL接続で複数のSQLコマンドを実行するにはどうすればよいですか?

    2. ClusterControl 1.7.5の発表:PostgreSQL12およびMongoDB4.2の高度なクラスターメンテナンスとサポート

    3. AzureポータルでLinux上のSQLServer2017の使用を開始する

    4. インスタンス設定を取得するためのストアドプロシージャ