当前位置: 首页 > article >正文

mysql 行转列 GROUP_CONCAT 试验

1.概要

很多时候需要用到行专列的方式做数据分析。比如对通讯数据的采集

数据采集结果如下:

变量采集周期
131
251
132
272

我想要看的结果

变量1变量2采集周期
351
372

就是我想看到相关数据的周期变化情况。

2.试验

2.1创建数据如下(表名 tb5)

ID数据1(v1)数据2(v2)周期(m)
11111
22221
33332
44442

SELECT GROUP_CONCAT(v1) FROM db1.tb5

从结果上看,是把所有的数据都变成列了。

 SELECT GROUP_CONCAT(v1) FROM db1.tb5 group by m

从结果上看,是把分组后的数据都放到了一行。

SELECT GROUP_CONCAT(v1,v2) FROM db1.tb5 group by m

 

有点蒙 是 111,222 是 1 11,2  22 的意思吗

SELECT GROUP_CONCAT(v1,"-",v2) FROM db1.tb5 group by m

这下明白了,GROUP_CONCAT只是把不同行的数据默认用,连接,只有不同的变量,中间不加任何连接符,你想连接,你可以自己加。

数据每组第一行数每组第二行数据分组
数据1数据2数据1数据2
1-11,2-22111122第一组(m:1)
3-33,4-44333444第一组(m:2)

 

 

 

 

 

 3.理解总结

对于GROUP_CONCAT,如果后面没有分组,会把全部行的数据显示成一列,这里的列是用,号隔开的也算列的意思。如果有分组,会把分组后的全部行转换成列。

对于每以行中的不同数据,默认不加分隔符合,需要你自己添加。


http://www.kler.cn/a/146663.html

相关文章:

  • 云原生之运维监控实践-使用Prometheus与Grafana实现对Nginx和Nacos服务的监测
  • Linux system-timesyncd同步机制梳理
  • hhdb数据库介绍(9-24)
  • 【Java SE】PreparedStatement
  • 【SQL】E-R模型(实体-联系模型)
  • 机器学习(贝叶斯算法,决策树)
  • upgrade openstack from ovs to ovn (by quqi99)
  • Linux 设置文件开启数量限制
  • 8.统一异常处理 + 统一记录日志
  • 地理坐标系转换
  • 使用 .toISOString() 方法生成当前时间的ISO格式字符串,解决UTC时区差问题
  • pycharm中requirements
  • 【matlab程序】图像最大化填充画布
  • Oracle查询数据库中当前用户每个表的数据条数
  • 形态学操作—顶帽运算
  • Grafana采用Nginx反向代理,部分功能报错‘Origin not allowed’ behind proxy
  • Unity阻止射线穿透UI的方法之一
  • 欧标电动汽车充电标准CCS2
  • 简易地铁自动机售票系统实现(C++)
  • 王者荣耀小游戏
  • 数据结构 / 内存的动态申请和释放
  • AIGC创作系统ChatGPT网站源码、支持最新GPT-4-Turbo模型、GPT-4图片对话能力+搭建部署教程
  • 微软发布了Orca 2,一对小型语言模型,它们的性能超越了体积更大的同类产品
  • 王者荣耀java版
  • Java王者荣耀
  • 【shell脚本】常见的shell脚本面试题目