SQL数据库,一个饭堂打卡的表,要查询在某个时间段内重复,或者2条以上相同记录,怎么查。

工号,姓名,卡号,打卡日期
分不多,不好意思。

select 工号,姓名,卡号,打卡日期,count(1) from 表
group by 工号,姓名,卡号,打卡日期 having count(1)>1

 哦,这个是查同一时间刷卡多次。如果是查在指定时间内刷卡多次按sinuation的答案,后面加having count()>1。如果不是指定时间,查所有时间,间隔某段时间,比如间隔30分钟刷卡多次的情况,需要进行自连接以后时间相减

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-25
select 工号,count(工号) from 表 where 打卡日期在某个时间段 group by 工号
第2个回答  2015-02-25
select * from AA,
(select 工号,count(*) as cc from AA where 打卡日期 between 打卡日期1 and 打卡日期2 group by 打卡日期,工号) as bb
where aa.工号=bb.工号 and bb.cc>1