MySQL如何查询表中重复的数据
查询重复记录
例:查询员工表里出现重复姓名的记录
思路:
1、查询姓名重复,使用分组函数: group by,再用聚合函数中的计数函数count(name)给姓名列计数,且使用group by 后不可使用*
2、关键字: 姓名,姓名进行分组,看潜在条件:重复,也就是count(name)>1,用having过滤条件,不可使用where(where子句无法与聚合函数count()一起使用)
方法1
例:查询员工表里出现重复姓名的记录
思路:
1、查询姓名重复,使用分组函数: group by,再用聚合函数中的计数函数count(name)给姓名列计数,且使用group by 后不可使用*
2、关键字: 姓名,姓名进行分组,看潜在条件:重复,也就是count(name)>1,用having过滤条件,不可使用where(where子句无法与聚合函数count()一起使用)
方法1
select name,count(*) from employee group by name having count(name)>1;
方法2:使用别名as
select name,count(*) as c from employee group by name having c>1;
方法3:筛选全部字段,将符合的数据进行展示
执行速度较慢,不推荐
select * from employee where name in ( select name from employee group by name having count(name)>1);
总结
推荐方法2,简洁且运行速度快;方法3不推荐,需要全部字段筛选出来,运行速度慢。
查询数据
SELECT * FROM bus_bus_info WHERE bus_number = "粤A09460D" AND is_deleted = 1
mysql 所有行修改字段值
UPDATE assets_video SET review = 1
带条件
UPDATE assets_video SET audit_step = 3 WHERE review = 2
字段添加字符串
UPDATE assets_video t SET t.video_url = CONCAT('assets/', t.video_url) WHERE TRIM(t.video_url) <> '';