0

我需要有关我的 SQL 代码的帮助来识别重复序列的出现。比如说,我的表结构是这样的:

Name   E_Date Maker    Status
----   ------ -----    ------
John   Apr-6  Apple    Success
Peter  Apr-6  Apple    Success
John   Apr-6  Apple    Success
Peter  Apr-7  Samsung  Success
John   Apr-6  Samsung  Success
John   Apr-6  Apple    Failure
Peter  Apr-6  Apple    Success
John   Apr-6  Apple    Success

所以上面的记录有 4 列/维度,你可以看到 John Apr-6 Apple Success 出现了 3 次。我的 SQL 代码应该计算这个并分配 rec_cnt = 3 和 dup_cnt = 1

有人可以帮我弄这个吗?

4

1 回答 1

0

您需要使用 GROUP BY 和 COUNT:

SELECT Name, E_Date, Maker, Status, COUNT(*) AS Rec_Cnt
  FROM AnonymousTable
 GROUP BY Name, E_Date, Maker, Status

在您确定它dup_cnt是如何产生的之前,我也不会尝试评估它。

我还观察到您的表没有主键,这通常是个坏主意。您应该确保有某种方法可以防止表中出现重复条目​​。如果最坏的情况发生,您可以添加一个普遍存在的 ID 列,但如果有其他选择,您应该优先使用它。

于 2013-07-25T23:52:52.770 回答