mysql同类型的多行变成一行value1和value2不同的列

 

关键字 row_number() over (partition by)

例如,下面的数据, 这是按照name分组后,展示property值。

我们想得到这样的值;

第一步:将每一组的property标上序号

select name,property,row_number() over (partition by name order by property desc) column_num from test

得到的结果:

partition by 后面接的就应该是将要分组的字段。如果partition by property 相当于按照property分组,那么后面的列序号column_num就是1,1,1,1,1,1,1

	select  b.MineID,b.MineName,b.economy,b.address,MAX(CASE WHEN num = 1 THEN name END) AS value1,MAX(CASE WHEN num = 1 THEN jobType END) AS jobType1,MAX(CASE WHEN num = 1 THEN mobile END) AS phone1,MAX(CASE WHEN num = 2 THEN name END) AS value2,MAX(CASE WHEN num = 2 THEN jobType END) AS jobType2,MAX(CASE WHEN num = 2 THEN mobile END) AS phone2,MAX(CASE WHEN num = 3 THEN name END) AS value3,MAX(CASE WHEN num = 3 THEN jobType END) AS jobType3,MAX(CASE WHEN num = 3 THEN mobile END) AS phone3,MAX(CASE WHEN num = 4 THEN name END) AS value4,MAX(CASE WHEN num = 4 THEN jobType END) AS jobType4,MAX(CASE WHEN num = 4 THEN mobile END) AS phone4,MAX(CASE WHEN num = 5 THEN name END) AS value5,MAX(CASE WHEN num = 5 THEN jobType END) AS jobType5,MAX(CASE WHEN num = 5 THEN mobile END) AS phone5,MAX(CASE WHEN num = 6 THEN name END) AS value6,MAX(CASE WHEN num = 6 THEN jobType END) AS jobType6,MAX(CASE WHEN num = 6 THEN mobile END) AS phone6,MAX(CASE WHEN num = 7 THEN name END) AS value7,MAX(CASE WHEN num = 7 THEN jobType END) AS jobType7,MAX(CASE WHEN num = 7 THEN mobile END) AS phone7,MAX(CASE WHEN num = 8 THEN name END) AS value8,MAX(CASE WHEN num = 8 THEN jobType END) AS jobType8,MAX(CASE WHEN num = 8 THEN mobile END) AS phone8,MAX(CASE WHEN num = 9 THEN name END) AS value9,MAX(CASE WHEN num = 9 THEN jobType END) AS jobType9,MAX(CASE WHEN num = 9 THEN mobile END) AS phone9,MAX(CASE WHEN num = 10 THEN name END) AS value10,MAX(CASE WHEN num = 10 THEN jobType END) AS jobType10,MAX(CASE WHEN num = 10 THEN mobile END) AS phone10from (select a.*,row_number() over (partition by a.MineName order by a.job_id asc) num from   (selectm.MineID,m.MineName,dic.LABEL economy,t.ADDRESS address,a.job_id, person_name name,mobile,if (a.job_id is null,a.job,b.dic_name) jobTypefrom m_mine_keeper_info aLEFT JOIN k_dictionary b on b.dic_code=a.job_id and b.dic_type='JobType'	left join k_mine m on m.MineID=a.MineIdleft join t_aj1_mj_jcxx_baseinfo t on t.CORP_ID=m.MineID and t.DEL_FLAG=0left join jcxx_sys_dict dic on dic.`VALUE`=t.ECONOMY_TYPE and dic.TYPE='base_economy_type'where  ( a.is_deleted=0 or a.is_deleted is null ) and a.job_id is not null ) a) b group by MineName

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/480148.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Easyx的学习1

使用easys的相关函数需要包含头文件#include<easyx.h>或#include<graphics.h>&#xff08;#include<graphics.h>包含了<easyx.h>和一些不推荐使用的函数&#xff09; 目录 窗口创建背景颜色 基本图形绘制 1.点 2.线 3.矩形 圆角矩形 4. 圆形 椭圆…

计网day4

五 网络层 5.1 网络层功能概述 5.2 路由算法 5.3 IP数据报格式 无分类编址CIDR&#xff1a; ARP协议&#xff1a; DHCP协议&#xff1a; ICMP协议&#xff1a; 5.4 IPv6 5.5 RIP协议及距离向量算法 OSPF协议及链路状态算法&#xff1a; BGP协议&#xf…

C语言二级易忘易错易混知识点(自用)

1.数组名不能自加。 因为数组名实际上是一个指针&#xff0c;指向数组的第一个元素的地址。数组名在编译器中被视为常量&#xff0c;它的值是固定的&#xff0c;不能改变。 要访问数组的不同元素&#xff0c;应该使用数组名加上偏移量的方式来访问。 2.共用体只有最后一次赋值…

剪辑视频调色软件有哪些 剪辑视频软件哪个最好 剪辑视频怎么学 剪辑视频的方法和步骤 会声会影2024 会声会影视频制作教程

看了很多调色教程&#xff0c;背了一堆调色参数&#xff0c;可最终还是调不出理想的效果。别再怀疑自己了&#xff0c;不是你的剪辑技术不行&#xff0c;而是剪辑软件没选对。只要掌握了最基本的调色原理&#xff0c;一款适合自己的视频剪辑软件是很容易出片的。 有关剪辑视频…

微博数据可视化分析:利用Python构建信息图表展示话题热度

1. 引言 随着社交媒体的迅速发展&#xff0c;微博已成为人们交流观点、表达情感的重要平台之一。微博评论数据蕴含着丰富的信息&#xff0c;通过对这些数据进行分析和可视化&#xff0c;我们可以深入了解用户对特定话题的关注程度和情感倾向。本文将介绍如何利用Python进行微博…

STM32F103C8T6驱动旋转编码器模块

下图是这次使用的旋转编码器模块 STM32F103C8T6驱动旋转编码器模块 产品说明使用测试硬件连接代码如下main.crotary_encoder.h.crotary_encoder.h.h 脉冲数和正反转演示图工程文件 产品说明 旋转编码器可通过旋转&#xff0c;可以计数正方向和反方向 转动过程中输出脉冲的次…

6-Rhodamine 6G NH2,氨基罗丹明6G,具有高荧光性质的罗丹明家族染料之一

6-Rhodamine 6G amine&#xff0c;6-Rhodamine 6G NH2&#xff0c;氨基罗丹明6G&#xff0c;具有高荧光性质的罗丹明家族染料之一 文章关键词&#xff1a;6-Rhodamine 6G amine&#xff0c;6-Rhodamine 6G NH2&#xff0c;氨基罗丹明6G 一、基本信息 产品简介&#xff1a;6-…

代码随想录算法训练营DAY20 | 二叉树(7) (续)

一、LeetCode 236 二叉树的最近公共祖先 题目链接&#xff1a;236.二叉树的最近公共祖先https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/description/ 思路&#xff1a;利用后序遍历是天然回溯过程、方便实现自底向上查找的原理&#xff0c;递归寻找公…

C++11重要特性总结

C11特性 1.统一列表初始化{}使用原理 2. 声明关键字 auto关键字 decltypenullptr 3. 范围for5. stl增加的容器6. 右值引用左值和右值的区分左值和右值引用场景移动构造移动赋值 右值引用move()完美转发forward()模板中的万能引用forward作用 7. 新的类成员函数移动构造移动赋值…

数据结构中线性表简述

线性表是数据结构中最简单、最常用的一种结构&#xff0c;它是由一组具有相同数据类型的元素组成的数据集合。线性表中的元素之间存在顺序关系&#xff0c;每个元素都有一个前驱元素和一个后继元素&#xff0c;除了第一个元素没有前驱元素&#xff0c;最后一个元素没有后继元素…

ThreadLocal(2):运用场景

通过上一章介绍&#xff0c;我们已经基本了解ThreadLocal的特点。但是它具体是运用在什么场景中呢&#xff1f; 接下来让我们看一个案例&#xff1a; 事务操作。 1 转账案例 1.1 场景构建 ​ 这里我们先构建一个简单的转账场景&#xff1a; 有一个数据表account&#xff0c;…

Vue | (二)Vue组件化编程 | 尚硅谷Vue2.0+Vue3.0全套教程

文章目录 &#x1f4da;模块与组件、模块化与组件化&#x1f4da;非单文件组件&#x1f407;基本使用&#x1f407;关于组件的几个注意点&#x1f407;组件的嵌套 &#x1f4da;单文件组件&#x1f407;一个.vue 文件的组成&#x1f407;实例 学习链接&#xff1a;尚硅谷Vue2.0…