zoukankan      html  css  js  c++  java
  • mysql 行转列

    SELECT NAME ,SUM( CASE SUBSTRING(mon, 6)  WHEN '01'  THEN sa ELSE 0 END ) AS '01月',
    
    SUM( CASE SUBSTRING(mon, 6)  WHEN '02'  THEN sa ELSE 0 END ) AS '02月',
    SUM( CASE SUBSTRING(mon, 6)  WHEN '03'  THEN sa ELSE 0 END ) AS '03月',
    mon FROM sale
    
    GROUP BY mon
    SELECT 
      ROUND((b.num / a.num) * 100, 2) || '%' AS tpnum,
      nvl (b.num, 0) AS tnum,
      nvl (a.num, 0) AS num,
      CAST(c.time2 AS VARCHAR (10)) AS mon 
    FROM
      (SELECT 
        COUNT(t.did) num,
        to_char (t.ts, 'yyyy-MM') AS d 
      FROM
        RCV_TB t 
      WHERE to_char (t.ts, 'yyyy') = '2019' 
        AND t.UNITID = '1001' 
      GROUP BY to_char (t.ts, 'yyyy-MM')) a 
      LEFT JOIN 
        (SELECT 
          * 
        FROM
          (SELECT 
            COUNT(t.did) num,
            to_char (t.ts, 'yyyy-MM') AS d 
          FROM
            RCV_TB t 
          WHERE t.isnet = '1' 
          GROUP BY to_char (t.ts, 'yyyy-MM'))) b 
        ON a.d = b.d 
      RIGHT JOIN 
        (SELECT 
          '01' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '02' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '03' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '04' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '05' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '06' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '07' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '08' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '09' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '10' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '11' AS time2 
        FROM
          DUAL 
        UNION
        ALL 
        SELECT 
          '12' AS time2 
        FROM
          DUAL) c 
        ON SUBSTR(a.d, 6, 2) = c.time2 
    ORDER BY c.time2 
  • 相关阅读:
    Java内部类与异常类
    Java 继承和接口
    134. 加油站
    P1567 统计天数
    P2141 珠心算测验
    P1428 小鱼比可爱
    P1427 小鱼的数字游戏
    python中使用xlrd、xlwt操作excel表格详解
    同步机制
    CSS学习
  • 原文地址:https://www.cnblogs.com/jentary/p/11534006.html
Copyright © 2011-2022 走看看