zoukankan      html  css  js  c++  java
  • 再写行转列和列转行

    原始表:

    1.列转行就是将一列的数据变成行显示,列转行使用了sum聚合函数,case when判断,列转行需要自己定义别名。

    列转行语句:

    SELECT SUM(CASE
    WHEN T.LOC = 'NEW YORK' THEN
    T.DEPTNO
    END) AS COLUMN_00001,
    SUM(CASE
    WHEN T.LOC = 'DALLAS' THEN
    T.DEPTNO
    END) AS COLUMN_00002,
    SUM(CASE
    WHEN T.LOC = 'CHICAGO' THEN
    T.DEPTNO
    END) AS COLUMN_00003,
    SUM(CASE
    WHEN T.LOC = 'BOSTON' THEN
    T.DEPTNO
    END) AS COLUMN_00004
    FROM DEPT T; --列转行

    显示的结果:

    完善写法:

    SELECT SUM(CASE
    WHEN T.LOC = 'NEW YORK' THEN
    T.DEPTNO
    END) AS NEWYORK,
    SUM(CASE
    WHEN T.LOC = 'DALLAS' THEN
    T.DEPTNO
    END) AS DALLAS,
    SUM(CASE
    WHEN T.LOC='CHICAGO' THEN
    T.DEPTNO
    END) AS CHICAGO,
    sum(CASE
    WHEN T.LOC='BOSTON' THEN
    T.DEPTNO
    END) AS BOSTON
    FROM DEPT T;

    显示结果:

    2.行转列就是将一行变成一列显示,行转列使用了sum聚合函数,case when判断,别名要和每行中的每一列的值一样。

    行转列代码:

  • 相关阅读:
    UVA10361
    △UVA10494
    △UVA465
    △UVA10106
    △UVA424
    阶乘的精确值
    小学生算术
    UVA156
    △UVA120
    linux应用之ntpdate命令联网同步时间
  • 原文地址:https://www.cnblogs.com/qadyyj/p/5673060.html
Copyright © 2011-2022 走看看