Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 TSQL查找重复项_Sql Server 2005 - Fatal编程技术网

Sql server 2005 TSQL查找重复项

Sql server 2005 TSQL查找重复项,sql-server-2005,Sql Server 2005,查找具有计数的重复行 假设给出了一张表 ID Name Age ----------------- 1 Jon 30 2 Skeet 30 1 Jon 30 4 Gravell 30 5 NULL 30 4 Gravell 30 5 NULL 30 7 James 40 所需输出(空值也应可比较) 为了查找重复项,我可以执行查询 se

查找具有计数的重复行

假设给出了一张表

  ID  Name      Age
  ----------------- 
  1   Jon       30
  2   Skeet     30 
  1   Jon       30
  4   Gravell   30
  5   NULL      30 
  4   Gravell   30
  5   NULL      30 
  7   James     40 
所需输出(空值也应可比较)

为了查找重复项,我可以执行查询

select ID,Name,Age from tableA  group by ID,Name,Age having count(*) >1
如何生成描述?

试试这个-

select ID,Name,Age, ('Found ' +  cast(count(*) as varchar(5))) as description
from tableA  group by ID,Name,Age having count(*) >1 
所需的输出顺序在ID/Name级别基本上是随机的

要查找重复项

SELECT
    ID, Name, Age, 'Found ' + Countof AS Description
FROM
    (
    SELECT
        ID, Name, Age,
        CAST(ROWNUMBER() OVER (PARITION BY Name ORDER BY ID) AS varchar(10)) AS Countof
    FROM
        MyTable
    ) foo
WHERE
    Countof > 1

我不太明白。你怎么能让1-Jon-30找到1,然后1-Jon-30找到2。1-Jon-30-find 2不是唯一的记录吗(作为计数)
SELECT
    ID, Name, Age,
    'Found ' + CAST(ROWNUMBER() OVER (PARITION BY Name ORDER BY ID) AS varchar(10)) AS Description
FROM
    MyTable
ORDER BY
    ID, Description
SELECT
    ID, Name, Age, 'Found ' + Countof AS Description
FROM
    (
    SELECT
        ID, Name, Age,
        CAST(ROWNUMBER() OVER (PARITION BY Name ORDER BY ID) AS varchar(10)) AS Countof
    FROM
        MyTable
    ) foo
WHERE
    Countof > 1