有这样一张表:A B C D E
--------------
1 2 3 5 6
1 2 3 7 8
1 2 3 8 9现在想针对A, B, C三列做过滤,即,如果A、B、C三列数据都相同,那么只取其中一行。对于上面的例子,就要选出三行中的任意一行。注意:结果集中需要包含所有列。
--------------
1 2 3 5 6
1 2 3 7 8
1 2 3 8 9现在想针对A, B, C三列做过滤,即,如果A、B、C三列数据都相同,那么只取其中一行。对于上面的例子,就要选出三行中的任意一行。注意:结果集中需要包含所有列。
解决方案 »
- Proc中利用dual表判断两个日期间隔180天之内
- 哪位高手给推荐几本关于informatic 或者etl 工具的书呗?
- 关于启动 DBconsole 的问题,用start命令,已经显示启动成功后,马上用status查询状态却显示not running
- 授权的问题 ,急急急!!!!
- Oracle 9i 无法启动了!可能是REDO01.LOG文件损坏了!没有备份,请高手帮助解决!
- 超奇怪的问题,包不能编译通过
- 抛出自定义异常
- linux下用ocl连接oracle的奇怪问题
- Oracle 条件判断怎么写
- SQL查询问题刚才写的不详细现在重写
- oracle初学者问题??
- Orcale新手,怎么样找到Orcale自带DB的表啊?
---------- ---------- ---------- ---------- ----------
1 2 3 5 6
1 2 3 7 8
1 2 3 8 9SQL> / A B C D E
---------- ---------- ---------- ---------- ----------
1 2 3 7 8
1 2 3 5 6
1 2 3 8 9SQL> / A B C D E
---------- ---------- ---------- ---------- ----------
1 2 3 7 8
1 2 3 5 6
1 2 3 8 9SQL> / A B C D E
---------- ---------- ---------- ---------- ----------
1 2 3 7 8
1 2 3 8 9
1 2 3 5 6
FROM TABLE_NAME
WHERE (A,B,C,ROWID) IN
(
SELECT A, B, C, MAX(ROWID) AS ROWID1
FROM TABLE_NAME
GROUP BY A, B, C
)
;
FROM TABLE_NAME
WHERE ROWID IN
(
SELECT MAX(ROWID) AS ROWID1
FROM TABLE_NAME
GROUP BY A, B, C
)
;