我需要帮助我的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有三次出现。我的SQL代码应该计算这个并指定rec_cnt = 3和dup_cnt = 1
有人可以帮我吗?
答案 0 :(得分: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列,但是如果有替代方案,你应该优先使用它。