表结构 :产品号 生产日期 数量 单价现在要根据产日期判断 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 月数量金额进行分组啊!如果嵌套聚合总是报此处不能使用非单行聚合
解决方案 »
- 索引新建后,是否对正运行中的存储过程生效
- 給这表student分配50K的两个区,后续分配的区大小每次增长50%,最多只能分配100个区。
- 将表删除后如何回滚
- 使用oracle sql developer定义包,报错误: PLS-00103: 出现符号 "CREATE"
- 如何增加一列循环数字的辅助列
- 查询内存数据库,要比较datetime类型和字符串时间的大小,SQL怎么写
- 在WindowsXp Pro下安装Oracle11g无法创建数据库
- oracle中有没有类似于SQL Server中的if和exists命令
- sql语句中怎样把表名作为参数
- Oracle Database11g怎么设置并使用外部的JDK1.8
- 求一条SQL语句,
- 简单SQL求解!!!
你给的结构是不行的,合计与分计矛盾的。
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