首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

Group by 后 细分数据解决方法

2013-01-25 
Group by 后 细分数据本帖最后由 Mark_ZYW 于 2013-01-07 18:55:25 编辑select cartypesn,sum(case w2_ons

Group by 后 细分数据
本帖最后由 Mark_ZYW 于 2013-01-07 18:55:25 编辑  select cartypesn,
   sum(case w2_onschedule_sort when 10 then 1 else 0 end) 提前入库,
    sum(case w2_onschedule_sort when 20 then 1 else 0 end) 计划内入库,
    sum(case when w2_onschedule_sort in (30,40) then 1 else 0 end) 延迟入库
  from w2summary_day_h_d m group by cartypesn;


有没有办法将  提前入库、 计划内入库、延迟入库
在进行细分 得到 A有多少 B有多少 ?


大虾 帮我看看  急!!!!!!!
[解决办法]
单独汇总吗?group by rollup(A,B);
[解决办法]
WITH TEST AS (
SELECT 'A' AS X,'10' AS Y,'1' AS Z FROM DUAL
UNION ALL
SELECT 'A' AS X,'10' AS Y,'1' AS Z FROM DUAL
UNION ALL
SELECT 'A' AS X,'20' AS Y,'0' AS Z FROM DUAL
UNION ALL
SELECT 'A' AS X,'20' AS Y,'0' AS Z FROM DUAL
UNION ALL
SELECT 'A' AS X,'30' AS Y,'1' AS Z FROM DUAL
UNION ALL
SELECT 'B' AS X,'10' AS Y,'0' AS Z FROM DUAL
UNION ALL
SELECT 'B' AS X,'20' AS Y,'1' AS Z FROM DUAL
UNION ALL
SELECT 'C' AS X,'30' AS Y,'0' AS Z FROM DUAL
UNION ALL
SELECT 'C' AS X,'10' AS Y,'1' AS Z FROM DUAL
)
SELECT X,
MAX(DECODE(Y,'10',Z,0)) S1,
MAX(DECODE(Y,'20',Z,0)) S2,
MAX(DECODE(Y,'30',Z,0)) S3
FROM (
SELECT X,Y,COUNT(Z) Z FROM TEST GROUP BY X,Y) GROUP BY X
[解决办法]
我看楼主的描述是没有看懂,但看你写的sql语句是看明白了。学习了
[解决办法]
同楼上,描述没看懂,SQL看懂了。学习

热点排行
Bad Request.