Oracle 10g:按文件大小分组的每月统计信息

时间:2009-10-15 19:28:40

标签: sql oracle plsql oracle10g

我在Oracle 10g上。 我有一个表,其中包含过去一年中存储在系统中的所有文件。 我想制作统计月度存款,按文件大小对它们进行分组。例如

0-1m
1m-10m
10m-100m
100m +

所以我的结果如下:

Month, 0-1m, 1m-10m, 10m-100m, 100mplus
2009-03, 999, 999, 999, 999

我想使用Oracle的分析功能,但我不熟悉它们。

非常感谢您的帮助。

更新: 我有这个查询给了我一个单一的列表。

select mois, groupement, count(*) nb
from 
  (
  select to_char(vercdate,'YYYY-MM') mois, 
          case 
            when datasize > 1024*1024*1024 then 'Go'
            when datasize > 1024*1024*100 then '100Mo'
            when datasize > 1024*1024*10 then '10Mo'
            when datasize > 1024*1024 then '1Mo'
            else '0Mo'
          end groupement
    from table
    where lower(filetype) = 'pdf'
  )
where groupement <> '0Mo'
GROUP by mois, groupement

给出了类似的东西:

2007-08 1Mo 745
2007-08 10Mo    48
2007-09 1Mo 973
2007-09 10Mo    175
2007-09 100Mo   1
2007-10 1Mo 913
2007-10 10Mo    64
2007-11 1Mo 828
2007-11 10Mo    71
2007-12 1Mo 456
2007-12 10Mo    24
2007-12 100Mo   1
2008-01 1Mo 693

现在我必须制作分析部分。

1 个答案:

答案 0 :(得分:0)

如果从头开始,这是太多的工作要做。这些关键词可以帮助你解码,总结(分区)。