我插入了一行数据,但是无意中连续运行了两次, 现在我想删除最后一行,请问这样的操作语句该怎么写?
解决方案 »
- oracle日志浪费和DG问题请教
- 数据库大表求拆解方案
- oracle中用shutdown immediate命令,无论在SQLPLUS还是在OEM中,关闭数据库没有反应
- 不显示删除回复显示所有回复显示星级回复显示得分回复 新手求助~想了两个小时未想出来
- where 条件后能否写个什么能满足所有条件
- Toad for oracle 如何显示多个结果集
- 重装oracle后的问题!高手帮帮忙!
- “Refcursor值无效“的错误
- 问一个较为复杂的sql查询问题:
- 大家快帮帮我,在线等:用户的机器的服务里没有“OracleTNSListener80”
- 系统重做后,怎么恢复以前数据库内容?
- 求写一个sql,根据条件不同进行不同的update操作,急等,谢谢!
SQL codedelete table where rowid in( select max(rowid) from 那两行 );
那两行 换成 找到那两行的视图
where rowid not in(
select rowid
from(
select a,b,c,row_number() over(partition by a,b,c order by rowid) rn
from tablename) where rn=1)
SQL> select * from a;NAME ID ORDER_TITLE
-------------------- ---------- --------------------
中国科学技术大学 1 科学
中国科学技术大学 1 科学
中国科学技术大学 1 科学SQL> SQL> DELETE FROM a WHERE ROWID IN( SELECT MAX(ROWID) FROM a);已删除 1 行。SQL> select * from a;NAME ID ORDER_TITLE
-------------------- ---------- --------------------
中国科学技术大学 1 科学
中国科学技术大学 1 科学SQL>
DELETE FROM a WHERE ROWID not IN( SELECT MAX(ROWID) FROM a group by name );
前提是 你name相同的都是重复记录 否则要给条件