功能是:删除除了id号不同,其他都相同的冗余信息select min(id) mid from student2 group by name) as t;select mid from (select min(id) mid from student2 group by name) as t;上面两句话执行出来的结果都是一样,结果如下。+------+| mid |+------+| 1 || 2 |+------+那为什么我下面两句就会出错呢?delete from student2 where id not in(select min(id) midfrom student2 group by name );delete from student2 where id not in(select mid from (select min(id) midfrom student2 group by name) as t);
解决方案 »
- oracle 用什么命令可以查看锁定的表,并杀死这个进程
- sql 不等於跟null為什麼不能同時抓出?
- 请问在oracle中,一个触发器可以同时建在多个表上吗?
- 【求助】oracle10g在redhat5下的奇怪异常
- FROM keyword not found where expected ,单独运行又是正确的
- 大家好~用什么样得SQL语句能够查询出数据库中得数据库都是什么呢?
- 請問下面業務的SQL如何寫
- 调用创建表接着调用插入表函数就出错!
- 一个SQL语句,大家帮忙,在线等。
- pro*c 调用存储过程报错
- 非技术人员咨询一个SQL统计的问题
- oracle 11.2.0 tnsping ORCL; 报错
select min(id) as id mid
from student2 group by name
delete from student2 where id not in(select id from tmp );
delete from student2 where id not in( select * from (select mid from (select min(id) mid
from student2 group by name) as tmp );mysql有这么个特性,对于更新操作,是不允许对统一表进行子查询的,也就是
delete from student2 where id not in(select min(id) mid
from student2 group by name );----这个是不行的delete from student2 where id not in(select mid from (select min(id) mid
from student2 group by name) as t);-