Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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
C# 多列重复查询_C#_Tsql_Sql Server 2008 R2 - Fatal编程技术网

C# 多列重复查询

C# 多列重复查询,c#,tsql,sql-server-2008-r2,C#,Tsql,Sql Server 2008 R2,我正在使用csharp中的t-sql查询包含5列数据的数据库表 跟踪某个操作在某个事件中发生的次数的整数 节目。表中还有其他列 例如: Num1 Num2 Num3 Num4 Num5 1 15 22 23 32 15 4 21 17 19 6 5 15 18 20 我需要构造一个查询,返回每个重复的整数集和 当将这5列视为一组值时,其中所有这5列都已复制的所有行的计数 为了进一步澄清,我需要知道N

我正在使用csharp中的t-sql查询包含5列数据的数据库表 跟踪某个操作在某个事件中发生的次数的整数 节目。表中还有其他列

例如:

Num1  Num2  Num3  Num4  Num5

1     15    22     23    32
15    4     21     17    19
6     5     15     18    20
我需要构造一个查询,返回每个重复的整数集和 当将这5列视为一组值时,其中所有这5列都已复制的所有行的计数

为了进一步澄清,我需要知道Num1=6、Num2=5、Num3=15、Num4=18和Num5=20的次数(如果确实发生)。我还需要知道这五列中是否有其他重复项

我知道一些SQL,但这是一个复杂的查询,我需要帮助。我试过了 有很多子查询等,但我就是想不出这些子查询的正确组合 选择并按排序,使其正常工作。所讨论的数据表大约有7000个 记录,预计增长不会超过10k左右,因此性能是次要的


提前感谢。

这看起来像是一个直接的选择计数,在五列上有一个GROUP BY

大致如下:

SELECT Num1, Num2, Num3, Num4, Num5, COUNT(someColumn) GROUP BY Num1, Num2, Num3, Num4, Num5

您可以通过子查询上的联接来实现这一点,该联接只接受重复项并对它们进行计数

select a.Col1, a.Col2, a.Col3, a.Num1, a.Num2, a.Num3, a.Num4, a.Num5, t.cnt as numberOfDuplicates
from tableA a
join (select Num1, Num2, Num3, Num4, Num5, count(*) as cnt
      from tableA
      group by Num1, Num2, Num3, Num4, Num5
      having count(*) > 1
     ) t
  on a.Num1 = t.Num1 and a.Num2 = t.Num2 and a.Num3 = t.Num3 and a.Num4 = t.Num4 and a.Num5 = t.Num5

对不起,我不明白你的答案。基于您的评论,我尝试了以下操作:“按Num1、Num2、Num3、Num4、Num5从[TableName]组中选择Num1、Num2、Num3、Num4、Num5”,但这似乎会返回所有没有重复的行。当我将COUNT子句放入时,我还收到了一个错误。我不明白你(某专栏)的意思。您能解释一下吗?在
someColumn
中,您应该在表中输入某个列的名称。(您确实提到过它还有其他列,但即使没有,我认为Num列中的任何一列都可以工作。)我只是再试了一次。如前所述,当我在查询中保留COUNT子句时,我收到一个错误,指出无效的对象名“COUNT”。好的,现在这看起来像是我从未想到过的。谢谢,我会去学习Having关键字。