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
*/

最新文章

  1. NPOI 自定义单元格背景颜色-Excel
  2. Papa Parse – 超强大的多线程 CSV 文本解析库
  3. CPU时间戳获取
  4. java面试资料总结
  5. [Node.js] npm init && npm install
  6. 安卓UI美化_drawable
  7. DOS命令(系统错误5,拒绝访问)的解决方法
  8. Sql万能分页代码
  9. 扒一扒EOS的前世今生
  10. knn算法的c语言实现
  11. 接口由40秒到200ms优化记录
  12. centos7 安装oracle11g
  13. eclipse如何以指定JDK启动
  14. yum install 下载后保存rpm包
  15. C/C++基础----特殊工具和技术 (重载new和delete,RTT,限定作用域的枚举类型,类成员指针,嵌套类,局部类,volatile,链接指示 extern “C”)
  16. php删除非空目录代码实现
  17. bzoj1082
  18. index range scan,index fast full scan,index skip scan发生的条件
  19. POJ 3376 Finding Palindromes(manacher求前后缀回文串+trie)
  20. 出现多个sessid

热门文章

  1. Django框架之DRF 基于mixins来封装的视图
  2. centos jira wiki 开机自启
  3. ASP.NET Core在支付宝小程序中使用signalR
  4. 【转载】C#中string类使用Substring方法截取字符串
  5. flutter报错--ProcessException: Process... gradlew.bat ...exited abnormally
  6. Python简单的CTF题目hash碰撞小脚本
  7. Android Exception Hook
  8. 使用Cloudera Manager部署oozie
  9. 探索JVM底层奥秘ClassLoader源码分析
  10. Linux常用时间函数