博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用SQL行转列函数pivot遇到的问题
阅读量:5216 次
发布时间:2019-06-14

本文共 664 字,大约阅读时间需要 2 分钟。

背景:对投票的结果按照单位进行汇总统计,数据库中表记录的各个账号对各个选项的投票记录。马上想到一个解决方案,先根据单位和选项进行Group By,然后再行转列得出单位对各个选项的投票情况。

with list as (    select GroupId,ANSWER,count(1) as num from Vote GROUP BY GroupId,ANSWER)select * from list pivot(sum(num) for Answer in (1,2,3,4,5,6)) pvt

PS:数据库中记录的投票选项是1 2 3这样的,果然无意中就留下了一个坑!

1676882-20190613112607264-1895035032.png

一脸懵逼,为啥别人的demo都跑的这么流畅啊!这个报错提示也没什么头绪!没办法还是要硬着头皮上啊!然后网上就各种pivot关键字找找找!哎,突然发现有人在sql中对pivot中列名部分用[]将各个列名包起来了。恍然大悟,这个报错不就是列名或者说字段名不能直接用数字开头!!!赶紧改一下,一切ok!!!

with list as (    select GroupId,ANSWER,count(1) as num from Vote GROUP BY    GroupId,ANSWER)select * from list pivot(sum(num) for Answer in ([1],[2],[3],[4],[5],[6])) pvt

1676882-20190613112624800-1986523650.png

转载于:https://www.cnblogs.com/cplemom/p/11015161.html

你可能感兴趣的文章
算法分析——运行时间计算(一般法则)
查看>>
输出cglib以及jdk动态代理产生的class文件
查看>>
2.Mybatis两种开发模式
查看>>
C# DataGridView 在最左侧显示行号方法
查看>>
js如何将一个json数组对应放置到另一数组中去
查看>>
剑指offer-重建二叉树
查看>>
C# 动态添加控件
查看>>
display:none;与visibility:hidden;的区别
查看>>
机器学习部分算法简介
查看>>
orocos_kdl学习(二):KDL Tree与机器人运动学
查看>>
AJAX
查看>>
sqlserver同一个局域网内,把服务器数据库备份到客户端
查看>>
tcp服务的测试程序开源
查看>>
MySQL基础:安装
查看>>
简练网软考知识点整理-项目资源优化、资源平衡及资源平滑
查看>>
三.使用字符串
查看>>
(Gorails)vuejs系列视频: Webpacker/vue-resource(不再为官方推荐)。
查看>>
JavaScript Transpilers: 为什么需要用它们?Babel的使用介绍。
查看>>
六、Hadoop学习笔记————调优之操作系统以及JVM
查看>>
EDM营销之电子邮件的长度和宽度讲解
查看>>