功能是:删除除了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);
解决方案 »
- 咨询LINUX下安装oracle问题
- 电信项目的一个存储过程sql语句,求大神指导。。。。。。。。。。。。。。。。
- 求Oracle SQl语句 即刻结贴~
- oracle9i 突然丢失数据 郁闷 急求解决
- Oracle 11g 监听配置错误
- 如何备份存储过程,JOB,函数
- Oracle9i创建存储过程出错
- insert into select 要怎么用。报错显示ora-00947:没有足够的值
- 我想查看我的每条语句的执行时间 ,请问打开显示时间的命令是那个(我曾看过,忘了)????
- 包中的存储过程中如何使用like?
- 非技术人员咨询一个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);-