iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql行数据转为列数据
  • 836
分享到

mysql行数据转为列数据

mysqloracle数据库 2023-09-02 15:09:10 836人浏览 泡泡鱼
摘要

最近在开发过程中遇到问题,需要将数据库中一张表信息进行行转列操作,再将每列(即每个字段)作为与其他表进行联表查询的字段进行显示。 借此机会,在网上查阅了相关方法,现总结出一种比较简单易懂的方法备用。

最近在开发过程中遇到问题,需要将数据库中一张表信息进行行转列操作,再将每列(即每个字段)作为与其他表进行联表查询的字段进行显示。

借此机会,在网上查阅了相关方法,现总结出一种比较简单易懂的方法备用。

普通查询

select id, data_time, numfrom testwhere id = 1order by data_time;

运行结果:
在这里插入图片描述

行数据转为列数据

当我们想把id为1的数据按照时间排列在一行,那么这时候就需要用到group by了,当然了,这里用的函数不一定是sum

select id,       sum(if(date_fORMat(DATA_TIME, '%H:%i') = '11:23', num, null)) as d1,        sum(if(date_format(DATA_TIME, '%H:%i') = '11:24', num, null)) as d2,        sum(if(date_format(DATA_TIME, '%H:%i') = '11:25', num, null)) as d3from testgroup by id;

查询结果:

在这里插入图片描述

总结

可以看出,这里行转列是将原来的data_time字段的多行内容选出来,作为结果集中的不同列,并根据id进行分组显示对应的num;

注意点:

SUM()是为了能够使用GROUP BY根据id进行分组,因为每一个id对应的data_time=‘某个时间’ 的记录只有一条,所以SUM()的值就等于对应那一条记录的num的值。

假如id=1 和data_time=‘某个时间’ 的记录有两条,则此时SUM()的值将会是这两条记录的和,同理,使用Max()的值将会是这两条记录里面值最大的一个。但是正常情况下,一个id对应一个时间段下的数据只有一个,因此可以使用SUM()、MAX()、MIN()、AVG()等聚合函数都可以达到行转列的效果。

建表语句

-- auto-generated definitioncreate table test(    id        int      not null,    data_time datetime not null,    num       int      null);

数据语句

INSERT INTO `test`(`id`, `data_time`, `num`) VALUES (1, '2023-06-20 11:24:00', 1);INSERT INTO `test`(`id`, `data_time`, `num`) VALUES (1, '2023-06-20 11:25:00', 54);INSERT INTO `test`(`id`, `data_time`, `num`) VALUES (1, '2023-06-20 11:23:00', 5234);

来源地址:https://blog.csdn.net/qq_44275015/article/details/131469080

您可能感兴趣的文档:

--结束END--

本文标题: mysql行数据转为列数据

本文链接: https://www.lsjlt.com/news/390957.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql行数据转为列数据
    最近在开发过程中遇到问题,需要将数据库中一张表信息进行行转列操作,再将每列(即每个字段)作为与其他表进行联表查询的字段进行显示。 借此机会,在网上查阅了相关方法,现总结出一种比较简单易懂的方法备用。 ...
    99+
    2023-09-02
    mysql oracle 数据库
  • MySQL多列数据怎么转化为一列数据
    你可以使用UNION操作符将多列数据转化为一列数据。UNION操作符可以将多个SELECT语句的结果合并为一...
    99+
    2023-10-27
    MySQL
  • MySQL怎么把列数据转成行数据
    这篇文章主要介绍“MySQL怎么把列数据转成行数据”,在日常操作中,相信很多人在MySQL怎么把列数据转成行数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL怎么把...
    99+
    2024-04-02
  • SQL Server基础之行数据转换为列数据
    准备工作 创建表 use [test1] go create table [dbo].[student]( [id] [int] identity(1,1) not null, [name...
    99+
    2024-04-02
  • SQL Server中怎么将行数据转换为列数据
    今天就跟大家聊聊有关SQL Server中怎么将行数据转换为列数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。准备工作创建表use [t...
    99+
    2024-04-02
  • SqlServer中实现行数据转为列显示
    目录1、效果如下2、解决方案3、代码如下场景:行数据的某列值想作为字段列显示 1、效果如下 2、解决方案 使用pivot进行行转列,以及结合分组 3、代码如下 select...
    99+
    2024-04-02
  • mysql数据转为pgsql
    目录 1.选择要转的表---选择模型  2.选择转出的模型  3.点击【确定】后,导出表结构  4.选择导出的路径。  5.查看导出的表结构  1.选择要转的表---选择模型  2.选择转出的模型    3.点击【确定】后,导出表...
    99+
    2023-09-05
    数据库
  • mysql将行数据转为json字符串
    你可以使用 MySql 的 JSON 函数来将行转换为 JSON 字符串。例如: SELECT JSON_OBJECT('name', name, 'age', age, 'email', email)FROM users; ...
    99+
    2023-09-09
    json mysql 数据库
  • oracle数据表转换为mysql数据表
    oracle数据表转换为mysql数据表,或者反过来,我们可以借助navica的工具 1.打开navicat的工具->数据传输 2.选择源数据库以及目标数据库 目标可以选择数据库也可以选择文件,目标数据库需要提前建好表,这里是选择文件,...
    99+
    2023-08-16
    oracle mysql 数据库
  • Mysql行转列函数
    group_concat() 例: select oid from Test;  select group_concat(oid) from Test; 来源地址:https://blog.csd...
    99+
    2023-09-02
    mysql sql mybatis
  • Sql Server中怎么实现行数据转为列显示
    本篇内容主要讲解“Sql Server中怎么实现行数据转为列显示”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Sql Server中怎么实现行数据转为列显示”吧!场景:行数据...
    99+
    2023-06-30
  • C#实现DataTable数据行列转换
    一、代码 public static DataTable RevertRowToColumn(DataTable sourcedt) { ...
    99+
    2024-04-02
  • php如何将序列化数据转为数组
    本文小编为大家详细介绍“php如何将序列化数据转为数组”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何将序列化数据转为数组”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。转换方法:1、用“unserial...
    99+
    2023-06-30
  • Django把SQLite数据库转换为Mysql数据库的过程
    目录1、SQLite导出数据2、mysql导入数据大部分新手刚学Django开发的时候默认用的都是SQLite数据库,上线部署的时候,大多用的却是Mysql。那么我们应该如何把数据库从SQLite迁移转换成Mysql呢?...
    99+
    2023-05-15
    Django SQLite数据库转换Mysql数据库 Django SQLite数据库转换
  • MYSQL -- 根据JSON列将一行拆为多行
    使用JSON_TABLE 例如表中存在 json 字段 json_filed 我们要实现如下效果 可以使用 json_table 去实现,json_table 可以将 json 字段转换为 tab...
    99+
    2023-09-09
    json mysql java
  • mysql如何将数据转为16进制
    mysql如何将数据转为16进制,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mysql转16进制的方法:1、使用he ...
    99+
    2024-04-02
  • mysql的行如何转为列
    这篇“mysql的行如何转为列”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql的行...
    99+
    2024-04-02
  • mysql如何将数据转为二进制
    今天小编给大家分享一下mysql如何将数据转为二进制的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2024-04-02
  • JSON数据行转列的应用是怎样的
    这篇文章将为大家详细讲解有关JSON数据行转列的应用是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。背景先说说为什么要弄什么行转列。时间类别费用201...
    99+
    2024-04-02
  • MYSQL 一行数据拆分成多行数据
    -- WH 拆分成多行 数据 20230519 SELECT * FROM (         SELECT SKU,Primary_Warehouse, SUBSTRING_INDEX(SUBSTRING_...
    99+
    2023-09-01
    数据库 mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作