0

在oracle中,我需要通过使用分析函数找到每周1年对象数增加最大的模式

我做了这样的事情:

 SELECT OWNER, TRUNC(CREATED,'w') WEEK_OF, count(*)
 FROM dba_objects
 WHERE CREATED BETWEEN ADD_MONTHS(SYSDATE, -12) AND SYSDATE
 group by TRUNC(CREATED,'w'),OWNER
 ORDER BY 3 DESC;

你们能想出一种我可以使用 LAG 功能的方法吗?

4

1 回答 1

0

定义“对象”的含义——表、触发器、视图,还有什么具体的?无论如何,有一个伪表dba_objects为 DB 中的每个对象创建了列:

SELECT * FROM dba_objects

所以,我想最简单的方法就是:

SELECT OWNER, COUNT(1) FROM dba_objects WHERE CREATED BETWEEN ADD_MONTHS(SYSDATE, -12) AND SYSDATE
GROUP BY OWNER
ORDER BY 2 DESC
于 2013-07-16T12:25:27.270 回答