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