微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何查询一年中的GROUP BY

如何解决如何查询一年中的GROUP BY

我倾向于将年份包括输出中。单程:

select to_char(DATE_CREATED, 'YYYY-MM'), sum(Num_of_Pictures)
from pictures_table
group by to_char(DATE_CREATED, 'YYYY-MM')
order by 1

另一种方式(更标准的sql):

select extract(year from date_created) as yr, extract(month from date_created) as mon,
       sum(Num_of_Pictures)
from pictures_table
group by extract(year from date_created), extract(month from date_created)
order by yr, mon;

记住顺序,因为您大概希望这些顺序,并且不能保证分组后返回行的顺序。

解决方法

我正在使用Oracle SQL Developer。我基本上有一张包含各列的图片表:

[DATE_CREATED(日期),NUM_of_PICTURES(int)]

如果我执行select *,我将得到类似于以下内容的输出:

01-May-12    12
02-May-12    15
03-May-12    09
...
...
01-Jun-12    20
...
etc.

我正在尝试将这些图片的总和汇总到MONTHLY数字中,而不是DAILY中。

我尝试做类似的事情:

select Month(DATE_CREATED),sum(Num_of_Pictures))
from pictures_table
group by Month(DATE_CREATED);

这将输出一个错误:

ORA-00904: "MONTH": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
Error at Line: 5 Column: 9

我的月份功能有误吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。