我使用sqso我有3个字段:
ID CustomerNo Date
1 0009 9/9/2011
2 0009 9/9/2011
3 0009 9/9/2011
4 0010 9/9/2011
Run Code Online (Sandbox Code Playgroud)
我想确定具有相同customerno和date的记录,并获得每个唯一ID.
ID CustomerNo Date
1 0009 9/9/2011
2 0009 9/9/2011
3 0009 9/9/2011
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我试过这段代码:
SELECT DISTINCT S1.ID, S1.customerno, S1.DATE
FROM TABLE AS S1
INNER JOIN TABLE AS S2
ON S1.DATE=S2.DATE AND S1.CUSTOMERNO=S2.CUSTOMERNO
AND S2.id <= S1.id
GROUP BY S1.customerno, S1.id , S1.DATE
Run Code Online (Sandbox Code Playgroud)
但它也获得了第4号记录,不同的客户没有,但具有相同的日期.
我想只获得customerno和date中重复的那些.
如果我理解正确,则此查询会给出重复的客户编号和日期.(我的表名为"t";我不能使用"table"作为表名.)
select customerno, date
from t
group by customerno, date
having count(*) >= 2
Run Code Online (Sandbox Code Playgroud)
要获取这些"重复"客户的ID号,请将其加入原始表.
select t.id, t.customerno, t.date
from t
inner join
(select customerno, date
from t
group by customerno, date
having count(*) >= 2) dups
on dups.customerno = t.customerno and dups.date = t.date
Run Code Online (Sandbox Code Playgroud)