案例描述:
现有一组生产数据如下:主键由SCREEN_SIZE、SCREEN_RESOLUTION、PLANTARE、PRUD_TYPE四个字段组成联合主键。 按如下要求统计该表: 1、SCREEN_SIZE 不做变化 2、SCREEN_RESOLUTION — 2K与8K不变,非2K与8K的全部按照4K统计 3、PRUD_TYPE — LCM 不变,OPEN/CELL 不变,其他类型按照SL统计 4、每种PRUD_TYPE下分两种数量统计。分别 ONWAY_QTY 、 INPLANT_QTY。 其中INPLANT_QTY = STOCK_QTY + ROUTING_QTY SHIP_QTY暂时不做统计
模拟数据:
SQL代码如下:
SELECT T.SCREEN_SIZE, CASE WHEN T.SCREEN_RESOLUTION NOT IN('8K','2K') THENoracle账号 '4K' WHEN T.SCREEN_RESOLUTION = '8K' THEN '8K' WHEN T.SCREEN_RESOLUTION = '2K' THEN '2K' END AS SCREEN_TYPE, T.PLANTAREA, SUM(DECODE(T.PRUD_TYPE,'LCM',(T.ONWAY_QTY),0)) AS LCM_ONWAY, SUM(DECODE(T.PRUD_TYPE,'LCM',(T.STOCK_QTY + T.ROUTING_QTY),0)) AS LCM_INPLANT, SUM(DECODE(T.PRUD_TYPE,'OPEN CELL',(T.ONWAY_QTY),0)) AS OC_INPLANT, SUM(DECODE(T.PRUD_TYPE,'OPEN CELL',(T.STOCK_QTY + T.ROUTING_QTY),0)) AS OC_INPLANT, SUM(DECODE(T.PRUD_TYPE,'SL1',(T.ONWAY_QTY),0)) AS SL_INPLANT, SUM(DECODE(T.PRUD_TYPE,'SL1',(T.STOCK_QTY + T.ROUTING_QTY),0)) AS SL_INPLANT, SUM(T.ONWAY_QTY + T.STOCK_QTY + T.ROUTING_QTY) AS TOTAL_COUNT FROM DEMO_STOCK T WHERE 1=1 -- 统计条件 GROUP BY T.SCREEN_SIZE, CASE WHEN T.SCREEN_RESOLUTION NOT IN('8K','2K') THEN '4K' WHEN T.SCREEN_RESOLUTION = '8K' THEN '8K' WHEN T.SCREEN_RESOLUTION = '2K' THEN '2K' END, T.PLANTAREA ORDER BY T.SCREEN_SIZE