找到1年内对象数量增加最多的模式

时间:2013-07-16 11:22:19

标签: sql oracle function plsql

在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功能的方法吗?

1 个答案:

答案 0 :(得分:0)

定义'对象'的含义 - 表,触发器,视图,特定的东西?无论如何,有一个伪的 dba_objects ,它为DB中的每个对象都有CREATED列:

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