MySql Povit_MySQL pivot row成动态列数
杨魅力
不幸的是,MySQL没有PIVOT基本上你想要做的功能。因此,您需要使用带有CASE语句的聚合函数:select pt.partner_name,
count(case when pd.product_name = 'Product A' THEN 1 END) ProductA,
count(case when pd.product_name = 'Product B' THEN 1 END) ProductB,
count(case when pd.product_name = 'Product C' THEN 1 END) ProductC,
count(case when pd.product_name = 'Product D' THEN 1 END) ProductD,
count(case when pd.product_name = 'Product E' THEN 1 END) ProductEfrom partners ptleft join sales s
on pt.part_id = s.partner_idleft join products pd on s.product_id = pd.prod_idgroup by pt.partner_name请参阅SQL Fiddle with Demo由于您不了解产品,因此您可能希望动态执行此操作。这可以使用预先准备的语句来完成。动态数据透视表(将行转换为列)您的代码如下所示:SET @sql = NULL;SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'count(case when Product_Name = ''',
Product_Name,
''' then 1 end) AS ',
replace(Product_Name, ' ', '')
)
) INTO @sqlfrom products;SET @sql = CONCAT('SELECT pt.partner_name, ', @sql, ' from partners pt
left join sales s
on pt.part_id = s.partner_id
left join products pd
on s.product_id = pd.prod_id
group by pt.partner_name');PREPARE stmt FROM @sql;EXECUTE stmt;DEALLOCATE PREPARE stmt;请参阅SQL Fiddle with Demo值得注意的GROUP_CONCAT是,默认情况下限制为1024字节。您可以通过在程序持续时间内将其设置得更高来解决此问题,即。SET @@group_concat_max_len = 32000;
MySql Povit_MySQL pivot row成动态列数相关推荐
- mysql如何算值_如何计算MySQL中具有特定值的列数?
以下是语法-select sum(yourColumnName1+yourColumnName2+yourColumnName3...N) as `anyAliasName1`, sum(yourCo ...
- [转]bootstrap table 动态列数
原文地址:https://my.oschina.net/u/2356355/blog/1595563 据说bootstrap table非常好用,从入门教程中了解到它的以下主要功能: 由于固定表头意味 ...
- Android宫格动态列数,设置recyclerView的GridLayoutManager宫格间距
遇到的问题 最近项目中用到了宫格列表布局,一直是用recyclerview作为列表开发控件,自然而然会用到其中的一个属性gridLayoutManager来做宫格布局列表.设计图是两行,并且是左右中都 ...
- vue中 表头 th 合并单元格,且表格列数不定的动态渲染方法
吐槽 今天,在vue中遇到 复杂表格的渲染 ,需要合并表头th的单元格,且合并单元格的那列的表头数据是动态数据,也就是不知道会有多少个表头列,而这几个表头列还分了好几个子表头.vue-split-ta ...
- python prettytable表格列数太多_html table表格列数太多添加横向滚动条
HTML的table表格的列数如果太多或者某一列的内容太长,就会导致表格td的内容被挤压变形,对后台的使用体验非常不友好.比如下面的情况: 那么如何在表格列数较多的情况下添加横向滚动条?其实很简单,只 ...
- 列数较多的csv文件导入mysql数据库(过程及问题记录)
刚接触mysql,想把几个表导入到数据库中,结果就遇到了问题. 原始数据是这样的: 1.使用navicat报错: [ERR] Cannot create table[china_sites_20140 ...
- mysql 多行转换多列 列不确定_多行转多列,行数和列数不确定
原始需求,有2表如下 SQL> select * from mas; TO TOOLNAME -- ---------- 01 包裹 02 信函 03 挂号信 04 中国速递 05 EMS 06 ...
- mysql中如何把两个查询结果列数不同并成一张表_MySQL
引言 本文整理了MySQL相关的知识,方便以后查阅. 基础架构 下图是 MySQL 的一个简要架构图,从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的. 先简单介绍一下下图 ...
- 的列数 获取mysql_阿里面试:MySQL如何设计索引更高效?
有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...
最新文章
- 设置VSCode代码编辑器右侧的Minimap代码缩略图滚动条切换显示、隐藏的快捷键Alt+M
- 非计算机专业毕业论文用游戏,计算机专业大学生毕业论文
- 清华、北大、中科院六位专家同台论道:生物智能的本质与下一代类脑AI
- 基于Python+Django实现药品管理系统
- 2-4 js基础-事件对象小结
- HDU 1525 Euclid's Game
- sql server版本号_识别SQL Server版本号的不同方法
- 职场攻略:每天淘汰自己的不足
- mysql详细教程大全
- PHP 链接手机短信接口
- excel poi 实现图片导出
- Easy Connect 当前IE代理启用了自动配置脚本,不允许使用CS客户端登录
- 在线图片尺寸修改 生成图标
- 传统与现代的碰撞——脉学与HRV
- 拉姆达表达式学习(2)
- Linux系统软件工程师/嵌入式Linux应用开发工程师 知识体系构建 500篇(持续更新)
- 温州大学c语言期末试卷,2016年温州大学物理与电子信息工程学院综合卷之C语言程序设计复试笔试最后押题五套卷...
- Matlab eval()函数
- 感冒病毒 suspects 并查集
- 数据库 | MySQL 5.7 安装教程及卸载教程【附安装包】