from biao
left outer join (select col1, col2
from biao
group by col1, col2
having count(*) >1) tmp
on biao.col1 = tmp.col1
and biao.col2 = tmp.col2
场景:表中包含有group_id,worker_id,status字段,查询这三个字段是否存在重复的数据。
查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来
查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来,并设置status为1
将查询查询结果作为where in的条件,需要select的结果再通过一个中间表select多一次,否则会报You can't specify target table for update in FROM clause。
你是要查找数据库中某个字段下的相同数据吧,我给你写2个例子(数据库执行效率高)
select * from dbo.MediafileInfo as a where
(VideoDownUrl IN (SELECT VideoDownUrl FROM MediafileInfo AS B WHERE A.ProgramID <>B.ProgramID))
(数据库执行效率低)
SELECT *
FROM MediafileInfo AS A
WHERE (SELECT COUNT(*) FROM MediafileInfo WHERE VideoDownUrl=A.VideoDownUrl)>1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)