sql - 我在 Oracle 数据库中有 3 个重复的行。只想删除第二条重复记录。我该怎么办?
问题描述
例子:
sno Empid Ename Sal
1 100 xxx 1000
2 200 yyy 2000
3 200 yyy 2000
4 200 yyy 2000
Empid
, Ename
,sal
是 EMP 表中的列。Sno
不是专栏,仅供了解
如何删除第三条记录?
解决方案
这应该有效:
DELETE FROM emp
WHERE ROWID = (SELECT Max(ROWID)
FROM (SELECT ROWID, empid
FROM emp
WHERE empid = 200
ORDER BY ROWID)
WHERE ROWNUM <= 2);
推荐阅读
- sql - SQL 查询 - 如何找到海拔最高的邻国
- sql - 在雪花中将字符串转换为日期
- visual-studio - 设置中的 Azure 函数参数
- c - C中二进制表示的无符号短除法
- python - 如何从一个单词中找到班次号码及其在python中的加密版本?
- firebase - Firebase A/B 测试用户分布不正确,设置 100% 用户但大多数用户是远程配置服务器端默认值
- php - 注意:未定义变量:主题在
- wordpress-theming - Is_single 在创世中无法正常工作
- spring-boot - 使用 Tomcat 为 Spring Boot 提供专用的 ExecutorService 是否很好
- python - Django 结构:许多应用程序 VS 一个大型应用程序