zoukankan      html  css  js  c++  java
  • sql server 行转列和列转行的使用

    1: 行转列

    子查询,获取一定数据集结果

    SELECT objid,action,count(1) AS [count] FROM T_MyAttention WHERE objid IN
    (SELECT TOP 10 objid FROM T_MyAttention tma GROUP BY objid ORDER BY count(1) DESC)
    GROUP BY objid,action

    下面用 行转列语法获取 最终结果

     select *
    from  
    (
    SELECT objid,action,count(1) AS [count] FROM T_MyAttention WHERE objid IN
    (SELECT TOP 10 objid FROM T_MyAttention tma GROUP BY objid ORDER BY count(1) DESC)
    GROUP BY objid,action
    ) t
    pivot ( sum(count) for t.action in ([1],[2],[3],[4])) as ourpivot

     

    微软官方的图:

    2: 列转行

    怎么把一条记录拆分成几条记录?
    User     No.         A           B            C
    1        1           21          34           24
    1        2           42          25           16

    RESULT:

    User     No.        Type       Num
    1        1          A          21
    1        1          B          34
    1        1          C          24
    1        2          A          42
    1        2          B          25
    1        2          C          16


    declare @t table(usser int ,no int ,a int,b int, c int)
    insert into @t select 1,1,21,34,24
    union all select 1,2,42,25,16

    SELECT usser,no,Type=attribute, Num=value
    FROM @t
      UNPIVOT
      (
        value FOR attribute IN([a], [b], [c])
      ) AS UPV
            
    --结果
    /*

    usser   no       Type      num
    ----         ---      --------  --------
    1           1         a          21
    1           1         b          34
    1           1         c          24
    1           2         a          42
    1           2         b          25
    1           2         c           16
    */

  • 相关阅读:
    微分中值定理和泰勒展开
    Burnside引理与Polya定理
    递推关系和母函数
    cogs 1361. 树 线段树
    cogs 247. 售票系统 线段树
    cogs 176. [USACO Feb07] 奶牛聚会 dijkstra
    cogs 1672. [SPOJ 375] 难存的情缘 树链剖分套线段树 易错! 全博客园最长最详细的题解
    cogs 886. [USACO 4.2] 完美的牛栏 二分图 匈牙利算法
    cogs 1254. 最难的任务 Dijkstra + 重边处理
    cogs 364. [HDU 1548] 奇怪的电梯 Dijkstra
  • 原文地址:https://www.cnblogs.com/baili-luoyun/p/11242574.html
Copyright © 2011-2022 走看看