您的位置:首页 > 数据库 > Oracle

oracle数据库按月、年查询统计数据的方法

2011-03-29 22:37 706 查看
这里提供了一种方法,挺不错oracle 实现按周,月,季度,年查询统计数据


还在网上看到用trunc来搞也可以,下面是个例子,两句SQL效果一样的.

id有重复的,所以group by搞了两个字段.

只在Oracle数据库里试过,其它库没试过。

view source
print
?

1

create

table

CONSUMER_ACC

2

(

3


IDVARCHAR2(50)

not

null

,

4


ACC_NUMVARCHAR2(10),

5


DATETIME

DATE

6

)

view source
print
?

01

select

t.id,trunc(t.datetime,

'mm'

)

as

d,

sum

(t.acc_num)

as

n

02

from

CONSUMER_ACC t

03

--where

04

group

by

t.id,trunc(t.datetime,

'mm'

)

05

order

by

n

desc

;

06

07

select

t.id,to_char(t.datetime,

'mm'

)d ,

sum

(t.acc_num)n

08

from

CONSUMER_ACC t

09

--where

10

group

by

t.id,to_char(t.datetime,

'mm'

)

11

order

by

n

desc

;

下面是上文的引用:

//按自然周统计

select to_char(date,’iw’),sum()

from

where

group by to_char(date,’iw’)

//按自然月统计

select to_char(date,’mm’),sum()

from

where

group by to_char(date,’mm’)

//按季统计

select to_char(date,’q'),sum()

from

where

group by to_char(date,’q')

//按年统计

select to_char(date,’yyyy’),sum()

from

where

group by to_char(date,’yyyy’)

貌似还有一种sum over的办法可以用:link
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: