计算具有重复项的记录数

时间:2017-06-14 02:31:42

标签: mysql crystal-reports

我的子报告会查看ID列表。每个ID都有一个分配给它的位置。报告按位置(组#1)分组,然后按ID(组#2)分组。

在表格中,ID应如下所示:

14600
14602
14602
14602
14700
14703
14704
14704

我想要的输出是 2 ,因为有2个ID包含多个条目。我怎样才能轻松计算出来?

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

 DECLARE @temp table(num integer);

 INSERT INTO @temp(num) VALUES (14600), (14602), (14602), (14602), (14700), (14703), (14704), (14704);

 SELECT COUNT(distinct num) repeats
 FROM
     (SELECT
        num, count(num) as counts
      FROM @temp
      GROUP BY num 
      HAVING COUNT(num) > 1) a; 

答案 1 :(得分:0)

听起来您正在寻找COUNTDISTINCT的组合,同时确保不止一次出现。您可以通过以下方式完成此任务:

SELECT COUNT(DISTINCT id) FROM table_name HAVING COUNT(*) > 1

这将返回表中不同ID的数量。在您的情况下,这是 2