面试的时候被问到了一道很简单的sql题目,开始做错了,经过面试官提醒才改对。有必要在此记录一下,警示自己。
题目:
在user表中,有属性id、name 两列,查出name属性值重复2次以上的记录数据。
解析:
使用group by
答案:
select * from user where name in(select name from user group by name having count(name)>1
扩展一下
删除重复的记录:
delete from user where name in (select name from user group by name having count(name) > 1)