杨魅力

不幸的是,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成动态列数相关推荐

  1. mysql如何算值_如何计算MySQL中具有特定值的列数?

    以下是语法-select sum(yourColumnName1+yourColumnName2+yourColumnName3...N) as `anyAliasName1`, sum(yourCo ...

  2. [转]bootstrap table 动态列数

    原文地址:https://my.oschina.net/u/2356355/blog/1595563 据说bootstrap table非常好用,从入门教程中了解到它的以下主要功能: 由于固定表头意味 ...

  3. Android宫格动态列数,设置recyclerView的GridLayoutManager宫格间距

    遇到的问题 最近项目中用到了宫格列表布局,一直是用recyclerview作为列表开发控件,自然而然会用到其中的一个属性gridLayoutManager来做宫格布局列表.设计图是两行,并且是左右中都 ...

  4. vue中 表头 th 合并单元格,且表格列数不定的动态渲染方法

    吐槽 今天,在vue中遇到 复杂表格的渲染 ,需要合并表头th的单元格,且合并单元格的那列的表头数据是动态数据,也就是不知道会有多少个表头列,而这几个表头列还分了好几个子表头.vue-split-ta ...

  5. python prettytable表格列数太多_html table表格列数太多添加横向滚动条

    HTML的table表格的列数如果太多或者某一列的内容太长,就会导致表格td的内容被挤压变形,对后台的使用体验非常不友好.比如下面的情况: 那么如何在表格列数较多的情况下添加横向滚动条?其实很简单,只 ...

  6. 列数较多的csv文件导入mysql数据库(过程及问题记录)

    刚接触mysql,想把几个表导入到数据库中,结果就遇到了问题. 原始数据是这样的: 1.使用navicat报错: [ERR] Cannot create table[china_sites_20140 ...

  7. mysql 多行转换多列 列不确定_多行转多列,行数和列数不确定

    原始需求,有2表如下 SQL> select * from mas; TO TOOLNAME -- ---------- 01 包裹 02 信函 03 挂号信 04 中国速递 05 EMS 06 ...

  8. mysql中如何把两个查询结果列数不同并成一张表_MySQL

    引言 本文整理了MySQL相关的知识,方便以后查阅. 基础架构 下图是 MySQL 的一个简要架构图,从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的. 先简单介绍一下下图 ...

  9. 的列数 获取mysql_阿里面试:MySQL如何设计索引更高效?

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

最新文章

  1. 设置VSCode代码编辑器右侧的Minimap代码缩略图滚动条切换显示、隐藏的快捷键Alt+M
  2. 非计算机专业毕业论文用游戏,计算机专业大学生毕业论文
  3. 清华、北大、中科院六位专家同台论道:生物智能的本质与下一代类脑AI
  4. 基于Python+Django实现药品管理系统
  5. 2-4 js基础-事件对象小结
  6. HDU 1525 Euclid's Game
  7. sql server版本号_识别SQL Server版本号的不同方法
  8. 职场攻略:每天淘汰自己的不足
  9. mysql详细教程大全
  10. PHP 链接手机短信接口
  11. excel poi 实现图片导出
  12. Easy Connect 当前IE代理启用了自动配置脚本,不允许使用CS客户端登录
  13. 在线图片尺寸修改 生成图标
  14. 传统与现代的碰撞——脉学与HRV
  15. 拉姆达表达式学习(2)
  16. Linux系统软件工程师/嵌入式Linux应用开发工程师 知识体系构建 500篇(持续更新)
  17. 温州大学c语言期末试卷,2016年温州大学物理与电子信息工程学院综合卷之C语言程序设计复试笔试最后押题五套卷...
  18. Matlab eval()函数
  19. 感冒病毒 suspects 并查集
  20. 数据库 | MySQL 5.7 安装教程及卸载教程【附安装包】

热门文章

  1. bl小说里面有个机器人管家_新型自主机器人管家能够自动识别环境物体
  2. 阿里云备案服务号申请方法及申请条件
  3. Global Illumination_Light Propagation Volumes (LPV)
  4. 使用PyPI来发布FPGA Overlays
  5. unity3D 鼠标控制物体旋转带阻尼效果
  6. iOS14-桌面小插件 StaticConfiguration
  7. python怎么恢复默认窗口_pycharm恢复默认布局
  8. 通达信接口进行二次编程开发步骤
  9. STM32CubeMX实现串口中断通信
  10. AD中怎么给不规则区域铺铜的方法