这SQL什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/06 00:43:47
delete from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)
我怎么弄也删除不了啊。rowid 系统提醒这个列名无效,
rowid是什么东西

语句的意思是:
删除people表中peopleld 重复的记录且保留所有重复项中rowid最小的那一条

rowid 应该是 people 表中的列,如果没有这个列名就会提示你那个错误, 否则语句应该可以执行的,

删除peopleld 重复的记录,保留所有重复项中rowid最小的那一条

如果people 表里同一peopleId有多条记录则
留下所有peopleId的第一条记录,删除有重复peopleId的后面几条记录

举个例子
id name
1 q
1 2
2 3
3 3
4 1
4 1
4 2

按照上面类似SQL语句 执行的结果就是
id name
1 q
2 3
3 3
4 1

你想要做什么 HI我