Oracle 查询语句,如何对多个月份进行分组查询[回答我追加分数]

来源:百度知道 编辑:UC知道 时间:2024/06/09 23:26:36
首先看表结构

Tabel
ID C2
1 2009-01-03
2 2009-09-12
3 2009-03-21
4 2009-04-09

现在我要对 吧 1,2,3 月分组
4,5,6 月分组
7,8,9 月分组
10,11,12 月分组
目前一楼二楼的方案不能解决问题,3楼的同志能不能把写法贴出来

select sum(id), ceil(to_char(C2,'MM')/3)||'季度' AS "季度" season
group by ceil(to_char(C2,'MM')/3);
season表示四个季度,
ceil 为系统函数 取大于等于n的最小整数。
希望楼主可以了解 ,这个我试过,完全可以

select sum(id),month(c2) from table group by month(c2)

顺便提示一下:“表”的英文表示是“Table”而不是“Tabel”;

SELECT * FROM [TableName] WHERE TO_CHAR(C2,"MM") IN('1','2','3');

UNION

SELECT * FROM [TableName] WHERE TO_CHAR(C2,"MM") IN('4','5','6');

UNION

SELECT * FROM [TableName] WHERE TO_CHAR(C2,"MM") IN('7','8','9');

UNION

SELECT * FROM [TableName] WHERE TO_CHAR(C2,"MM") IN('10','11','12');

2楼你这方法不可取,效率太底,如果楼主有兴趣可以学下ORACLE的分析函数,解决这个是小儿科啦

其实你这个就是按季度分组而已,新加个季度字段,先按月份更新季度再计算就OK了