我需要帮助我的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。
有人能帮我一下吗?
发布于 2013-07-26 07:52:53
需要使用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列,但如果有替代方法,您应该优先使用该列。
https://stackoverflow.com/questions/17870551
复制相似问题