select deptno,count(*) from emp group by deptno;
DEPTNO COUNT(*)
------ ----------
30 6
20 5
10 3
现在如果知道了结果,要反向操作怎么办?
WITH t AS (
SELECT '30' NAME,6 cnt FROM dual UNION ALL
SELECT '20' NAME,5 cnt FROM dual UNION ALL
SELECT '10' NAME,3 cnt FROM dual)
SELECT NAME,LEVEL FROM t CONNECT BY LEVEL<=cnt AND PRIOR NAME=NAME AND PRIOR sys_guid() IS NOT NULL;
NAME LEVEL
---- ----------
10 1
10 2
10 3
20 1
20 2
20 3
20 4
20 5
30 1
30 2
30 3
30 4
30 5
30 6
http://www.itpub.net/thread-1505196-1-2.html。
connect by是连接条件,即子类跟父类之间是如何连接的,可以是无意义连接,如level
另外,没见过比ITPUB还烂的空间了,发布日志跑到日志管理去了,操蛋。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24478467/viewspace-710934/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24478467/viewspace-710934/