表结构 :产品号 生产日期 数量 单价现在要根据产日期判断 3,9,12个月内的产品select 出下面的结构
---------------------------------------
| 3月 | 6月 | 9月 |
产品号 生产日期 数量 金额 |数量|金额| |数量|金额| |数量|金额|金额 =数量*单价我用(CASE
WHEN 生产日期 >= add_months(SYSDATE, -3) THEN
1
WHEN 生产日期 >= add_months(SYSDATE, -6) THEN
2
WHEN 生产日期 >= add_months(SYSDATE, -9) THEN
3
ELSE
4
END) Datescope
可以判断出范围,问题是我该如何分组,对3,6,9 月数量金额进行分组啊!如果嵌套聚合总是报此处不能使用非单行聚合
---------------------------------------
| 3月 | 6月 | 9月 |
产品号 生产日期 数量 金额 |数量|金额| |数量|金额| |数量|金额|金额 =数量*单价我用(CASE
WHEN 生产日期 >= add_months(SYSDATE, -3) THEN
1
WHEN 生产日期 >= add_months(SYSDATE, -6) THEN
2
WHEN 生产日期 >= add_months(SYSDATE, -9) THEN
3
ELSE
4
END) Datescope
可以判断出范围,问题是我该如何分组,对3,6,9 月数量金额进行分组啊!如果嵌套聚合总是报此处不能使用非单行聚合
你给的结构是不行的,合计与分计矛盾的。
select sum(CASE WHEN 生产日期 > = add_months(SYSDATE, -3) THEN 1 else 0 end) as 3yue,
sum(CASE WHEN 生产日期 > = add_months(SYSDATE, -6) THEN 1 else 0 end) as 6yue,
sum(CASE WHEN 生产日期 > = add_months(SYSDATE, -9) THEN 1 else 0 end) as 9yue from table