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 
  • 相关阅读:
    NSIS打包electron程序为exe安装包
    3、electron打包生成exe文件
    7、Shiro加密和加盐
    6、Shiro之自定义realm
    5、Shiro之jdbcRealm认证授权
    Jmeter-提取Json数据进行关联
    CentOS7 adb
    centos 7 安装pip和pip3
    最新Centos7安装python3并与python2共存
    centos7安装chrome浏览器
  • 原文地址:https://www.cnblogs.com/jentary/p/11534006.html
Copyright © 2011-2022 走看看