位置: 编程技术 - 正文

mysql 列转行的技巧(分享)(mysql sql行转列)

编辑:rootadmin

推荐整理分享mysql 列转行的技巧(分享)(mysql sql行转列),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql实现行转列,mysql怎么行转列,mysql sql行转列,mysql sql行转列,mysql实现行转列,mysql实现行转列,mysql实现行转列,mysql行转列常用函数,内容如对您有帮助,希望把文章链接给更多的朋友!

前言:

由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式。即同一个列中存储了多个属性值(具体结构见下表)。

这种模式下,应用常常需要将这个列依据分隔符进行分割,并得到列转行的结果。

表数据:

ID Value 1 tiny,small,big 2 small,medium 3 tiny,big

期望得到结果:

ID Value 1 tiny 1 small 1 big 2 small 2 medium 3 tiny 3 big

正文:

原理分析:

这个join最基本原理是笛卡尔积。通过这个方式来实现循环。

以下是具体问题分析:

length(a.Size) - length(replace(a.mSize,',',''))+1 表示了,按照逗号分割后,改列拥有的数值数量,下面简称n

join过程的伪代码:

mysql 列转行的技巧(分享)(mysql sql行转列)

根据ID进行循环

{

判断:i 是否 <= n

{

获取最靠近第 i 个逗号之前的数据, 即 substring_index(substring_index(a.mSize,',',b.ID),',',-1)

i = i +1

}

ID = ID +1

}

总结:

这种方法的缺点在于,我们需要一个拥有连续数列的独立表(这里是incre_table)。并且连续数列的最大值一定要大于符合分割的值的个数。

例如有一行的mSize 有个逗号分割的值,那么我们的incre_table 就需要有至少个连续行。

当然,mysql内部也有现成的连续数列表可用。如mysql.help_topic: help_topic_id 共有个数值,一般能满足于大部分需求了。

改写后如下:

以上这篇mysql 列转行的技巧(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

mysql列转行以及年月分组实例 如下所示:SELECTcount(DISTINCT(a.rect_id))zcount,a.job_dept,DATE_FORMAT(submit_date,'%Y-%m')zsubmit_dateFROM表名aWHEREa.statu=3ANDa.rstatu=2ANDa.job_deptIN('','','')GROUPBYa.job_dept,DATE

mysql 列转行,合并字段的方法(必看) 数据表:列转行:利用max(casewhenthen)max---聚合函数取最大值(casecoursewhen'语文'thenscoreelse0end)---判断as语文---别名作为列名SELECT`name`,MAX(CASEWHENcourse='语文'THEN

MySQL 5.7中的关键字与保留字详解 前言MySQL和Oracle的关键字还是不尽相同的,在Oracle数据库中,我们的数据表中定义了大量的code字段用来表示主键,但是在MySQL中code是关键字,使用以前

标签: mysql sql行转列

本文链接地址:https://www.jiuchutong.com/biancheng/349896.html 转载请保留说明!

上一篇:MySQL 按指定字段自定义列表排序的实现(mysql向指定字段中添加数据)

下一篇:mysql列转行以及年月分组实例(mysql怎么把列变成行)

  • 个人所得税信息采集怎么弄
  • 应付销货方代垫运费计入什么科目
  • 收外汇必须报关吗
  • 交通运输行业属于什么性质
  • 用友t3普及版价格
  • 公司账外现金
  • 从小规模取得3%农产品进项税额抵扣
  • 未开发票收入交增值税怎么做账?
  • 办公室购置空调的词语
  • 年终奖不走工资走存单,需要缴税吗?
  • 雇主责任险是否属于财产保险
  • 国税网不能打印,怎么设置
  • 电梯安装简易征收的优点
  • 混凝土的增值税率是多少
  • 自然人税收系统怎么添加人员
  • 公司需要给员工提供的帮助
  • windows10如何开机启动软件
  • 手动设定ip地址后连不上网
  • kb5001028补丁
  • 如何玩转win11
  • 旅游开发企业会计账务处理
  • 主营业务收入的计算公式
  • 稽查补交的税款怎么处理
  • php处理xml
  • info.exe
  • vue怎么使用本地存储比较好
  • 埃热泽尔斯湖面上的波纹,拉脱维亚拉特加尔地区 (© Eaglewood Films/Nimia)
  • php 二叉树
  • 阿伦河在哪
  • 实际缴纳消费税计算公式
  • 为什么要进行税费改革
  • 股票溢价发行会亏本吗
  • 计算机视觉姿势评估英语
  • php ajax 教程
  • 当月没有生产情况正常吗
  • 股东分红税率是20%还是25%
  • 通过微信支付码能查到微信本人吗
  • c语言中局部变量和全局变量同名
  • 汇算清缴需要做账吗
  • 营改增小规模纳税人认定标准
  • sql怎么查询个数
  • 房地产企业拆迁还房会计处理
  • 固定资产折旧和无形资产摊销
  • sqlserver2012完全卸载
  • mysql索引命令
  • 进项税大于销项税怎么结转
  • 补交上年度企业所得税税额需要本年度纳税调增吗
  • 企业所得税计提的准备金可以扣除吗
  • 出口退税三类企业影响
  • 纳税人防伪税控设备未抄报怎么办
  • 税率与征收率是怎么回事
  • 固定资产清理不及时
  • 纳税人销售免税产品开具专票
  • 租金收入确认收入时间
  • 未开票收入怎么报税
  • 融资租赁的固定资产视为企业自有固定资产管理
  • 材料发票失控后如何处理
  • 销售自己使用过的物品免税吗
  • sql server 数据
  • cndll.dll
  • 电脑开机显示xp后无反应
  • windows2003 64位注册码 序列号 激活码
  • mac在哪设置
  • reg注册表格式文件
  • win7系统怎么关闭放大镜?
  • mac电脑登录
  • ubuntu配置vsftpd
  • linux中命令行
  • 如何保留windows.old
  • linux文件批处理命令
  • win7旗舰版开机
  • 极简主义分析
  • jquery实现自动轮播
  • python基本介绍
  • python 变参
  • javascript面向对象编程指南
  • js操作dom节点的方法
  • 河北电子税务局如何添加办税人员
  • 回迁房有没有装电梯的
  • 数字经济与实体经济融合发展的理论探索
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设