mysql查询字段重复的数据
2023-01-20阅读(103)
问:MYSQL过滤表中某几个字段重复的数据
- 答:场景:表中包含有group_id,worker_id,status字段,查询这三个字段是否存在重复的数据。
查找某个人在某个班组内存在多个status为0的数据
查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来
查找某个人在某个班组内存在多个status为0的数据,将最小的id选出来,并设置status为1
将查询查询结果作为where in的条件,需要select的结果再通过一个中间表select多一次,否则会报You can't specify target table for update in FROM clause。
问:mysql查询某字段相同的记录
- 答:select * from 表名 where match_id in (select match_id from 表名 where team_id='a' or team_id='b' group by match_id)
- 答:感觉你的描述有点乱,总结一下
已知比赛双方队伍id,要查询比赛信息。
按照你给的表结构,猜测,应该有三个表
比赛记录表(match_record),比赛基本信息表(match),参赛队伍表(team),你给出了match_record表,现在已知比赛队伍id,要查询比赛信息。
select * from match_record a,match b
where a.match_id=b.id
and a.team_id in('a','b')
这样可以查出a和b参加的比赛信息,应该会查出多条,可以在增加比赛时间等限制,确定到底想查的是哪场比赛。知道是哪场比赛了,在关联队伍表或者其他表,在查询别的信息。 - 答:查询user表里面user_name字段值的重复次数
select user_name,count(*) as count from user group by user_name having count>1;
问:如何查询mysql数据库中部分重复的数据
- 答:你是要查找数据库中某个字段下的相同数据吧,我给你写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