delete test1 where rowid in(
select rid from
(select rowid rid,row_number()
over(partition by mobliephone order by userid desc)
rn from test1)
where rn>1);这个语句的目的是删除重复的数据
但是这个语句我完全无法读懂到底是什么意思请问那位高手能给我解释一下么?
解决方案 »
- 无效字符
- 有谁知道peoplesoft的发展前景怎么样?
- 求教oracle9i的监听进程不能解析在连接描述符中给出的SERVICE_NAME问题
- 请教表类型数组问题,急!!!!!!!!!!!
- sql 关于两个表的联合查询
- 关于ORA-00604/ORA-04031问题
- 如何用SQL语句调用数据库中的函数并获取返回值?
- p4系统安装ORACLE8I是不行的,但好象用ORACLE9I的一个目录覆盖就行了,请问是哪个目录文件?
- 已经辞掉了版主职务了,一个星期没有上网,这回散点分给大家.
- 急!!!!不能登陆数据库
- oracle数据库中怎么建立一个用户给他分配权限,只能对一个表进行操作????高手指教,最好是命令行中的命令,详细点!!感激不尽!
- CLOB 类型分组出错,急..
如果没有重复的内容,分区就只有一个行,编号是 “1”。但是,如果存在重复,那么它们就会被编上2、3等号码。
这个查询还会返回用来唯一识别数据行的ROWID。
第一个查询然后就被用作另外一个查询的内联视图,
这第二个查询使用一个WHERE子句过滤掉“1”行,只返回重复的内容。
最后,一个DELETE语句通过第二个查询使用IN操作符来删掉所有的重复内容。
有好幾種方法
建議看哈這個博客http://jack198409.itpub.net/