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

SQLServerでGroupby句とHaving句を使用して重複レコードを見つける方法-SQLServer/TSQLチュートリアルパート132

    シナリオ:

    あなたはSQLServer開発者として働いています。重複レコードと重複レコードの数を返すdbo.Customerテーブルのクエリを作成する必要があります。


    解決策:

    Group by and Count集計関数を使用して、テーブル内のすべての重複レコードを検索し、カウントできます。

    たとえば、以下の定義とデータを持つdbo.Customerテーブルがあるとします。 FName、LName、CountryShortNameの列で重複しているレコードを検索します。


    Create table dbo.Customer
     (Id int,
      FName VARCHAR(50),
      LName VARCHAR(50),
      CountryShortName CHAR(2),
      SaleAmount Int)
    GO
    --Insert Rows in dbo.Customer Table
    insert into dbo.Customer
    Values (
    1,'Raza','M','PK',10),
    (2,'Rita','John','US',12),
    (3,'Sukhi','Singh',Null,25),
    (4,'James','Smith','CA',60),
    (5,'Robert','Ladson','US',54),
    (6,'Alice','John','US',87),
    (6,'Raza','M','Pk',Null)
     
     クエリを書いてみましょう。count(*)を使用して選択リストにすべての列を含め、同じ列でグループ化します。最後に、Having句を使用して、重複するレコードをフィルタリングします。


    SELECT fname, 
           lname, 
           countryshortname, 
           Count(*) AS RecordCount 
    FROM   dbo.customer 
    GROUP  BY fname, 
              lname, 
              countryshortname 
    HAVING Count(*) > 1
     データから、FName、LName、および国の短縮名によって重複する唯一のレコードは「Raza」、「M」、「PK」であり、クエリによって返される合計2つのレコードがあることがわかります。

    SQLServerでGroupby句とHaving句を使用して重複レコードを検索する方法



    1. エンティティデータフレームワークからのトリガーの代わりにテーブルに挿入するときにエラーが発生しました

    2. SQLAlchemyを使用して、selectステートメントの列としてサブクエリを使用してSQLを生成します

    3. JavaからファイルDSNにアクセスする

    4. date_part()がPostgreSQLでどのように機能するか