How get the T-SQL code to find duplicates?

前端 未结 5 616
清酒与你
清酒与你 2020-12-12 20:36

MS Access has a button to generate sql code for finding duplicated rows. I don\'t know if SQL Server 2005/2008 Managment Studio has this.

  1. If it has, please

5条回答
  •  青春惊慌失措
    2020-12-12 20:56

    Well, if you have entire rows as duplicates in your table, you've at least not got a primary key set up for that table, otherwise at least the primary key value would be different.

    However, here's how to build a SQL to get duplicates over a set of columns:

    SELECT col1, col2, col3, col4
    FROM table
    GROUP BY col1, col2, col3, col4
    HAVING COUNT(*) > 1
    

    This will find rows which, for columns col1-col4, has the same combination of values, more than once.

    For instance, in the following table, rows 2+3 would be duplicates:

    PK    col1    col2    col3    col4    col5
    1       1       2       3       4      6
    2       1       3       4       7      7
    3       1       3       4       7      10
    4       2       3       1       4      5
    

    The two rows share common values in columns col1-col4, and thus, by that SQL, is considered duplicates. Expand the list of columns to contain all the columns you wish to analyze this for.

提交回复
热议问题