My SQL 列转行操作
原表结构如下,我们可以发现,“日运输量”和“车次”是在同一张表中相互独立的两个字段,即独立的两列数据,下面,我将系统中的测试数据以及代码全部放出来,以解释列转行的操作方法

原表数据库查询代码:
1 SELECT
2 yzrq AS 运作日期,
3 DATE_FORMAT( yzrq, '%Y-%m' ) AS 年月,
4 rysl AS 日运输量,
5 jldw AS 计量单位,
6 cc AS 车次
7 FROM
8 uf_ysmxb
原表查询结果:

目标:车次需要按月进行统计,相当于列转行
最终需要字段:年月、月度发货量、发货量类型
第一步:我们需要单独将车次数据提取出来
SELECT
yzrq,
DATE_FORMAT( yzrq, '%Y-%m' ) AS 年月,
cc AS 日运输量,
'车次' AS 发货量类型
FROM
uf_ysmxb

第二步:使用union all与其他的数据合并(到这里就已经实现了列转行的操作),注意,合并的两张表必须保证字段类型和名字一致
SELECT
yzrq AS 运作日期,
DATE_FORMAT( yzrq, '%Y-%m' ) AS 年月,
rysl AS 日运输量,
CASE
jldw
WHEN 34 THEN
'重量' ELSE '体积'
END AS 发货量类型
FROM
uf_ysmxb UNION ALL
SELECT
yzrq,
DATE_FORMAT( yzrq, '%Y-%m' ) AS 年月,
cc AS 日运输量,
'车次' AS 发货量类型
FROM
uf_ysmxb

第三步:将数据按要求进行汇总统计
SELECT
年月,
SUM(日运输量) AS 月度发货量,发货量类型
FROM
(
SELECT
yzrq AS 运作日期,
DATE_FORMAT( yzrq, '%Y-%m' ) AS 年月,
rysl AS 日运输量,
CASE
jldw
WHEN 34 THEN
'重量' ELSE '体积'
END AS 发货量类型
FROM
uf_ysmxb UNION ALL
SELECT
yzrq,
DATE_FORMAT( yzrq, '%Y-%m' ) AS 年月,
cc AS 日运输量,
'车次' AS 发货量类型
FROM
uf_ysmxb
) AS T
GROUP BY
年月,发货量类型

My SQL 列转行操作的更多相关文章
- SQL 列转行 分组去重并合并多条记录
继上篇<SQL 列转行 合并多条记录>后,有网友反馈新的需求还是不太会用. 现举例说明 一,网友需要如下的效果: 其实,这个需求依然可以我上篇的方法进行解答,但为了实现分组,需要disti ...
- SQL列转行,行转列实现
在工作中,大家可能会遇到一些SQL列转行.行转列的问题,恰好,我也遇到了,就在此记录一下.此处所用的是SQLServer2008R2. 行转列,列转行,都要预先知道要要处理多少数据,在此我就以三种方案 ...
- SQL 列转行的实现
--列转行,逗号拼接指定列的值Oracle中写法:select wmsys.wm_concat(Field1) from TableASQL Server中写法:SELECT STUFF(( SELE ...
- sql列转行查询
test表: 执行列转行sql: select student, sum(case Course when '语文' then Score else null end) 语文, sum(case Co ...
- Sql 列转行字符串
select OrderID,ProdDetailID from A 表A : OrderID,ProdDetailID 1 6 1 7 1 ...
- SQL Server 行转列 列转行操作
1.多行转成一行(并以','分开) 表数据如下图: 查询结果如下图: SQL查询脚本: SELECT addPer, house_code = (STUFF((SELECT ',' + house_c ...
- SQL 列转行,即多行合并成一条
需求:按照分组,将多条记录内容合并成一条,效果如下: 数据库示例: CREATE TABLE [t2]([NID] [bigint] NULL,[district] [nvarchar](255) N ...
- sql 列转行
原表:转过的表: 代码: ) set @sql = 'select AssetRecordId ' select @sql = @sql + ' , max(case ExtendName when ...
- Sql"列转行"三种方法对比
SQL code------ 合并列值 --***************************************************************************** ...
- 利用XML语法 SQL 列转行
--行转列 固定xml语法 declare @xml xml ; set @xml=cast('<v>2</v><v>4</v><v>3&l ...
随机推荐
- 【全】CSS动画大全之404页面【a】
效果预览 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...
- Adobe Photoshop cc2022 Mac中文破解版下载安装
PS2024 for Mac,我这个版本是Mac版25.2,大小4.03G,支持intel/M1/M2/M3芯片,最低系统需求:13.4以上,不限速下载地址还是放在最后. 然后安装总共有三个步骤,尤其 ...
- c++字符编码转换
c++字符编码转换 简述 字符编码一直是软件开发中很麻烦的问题.当前项目开发普遍使用的字符集是utf-8,而windows系统则默认是gbk,linux默认编码则是utf-8,所以想要开发一个在win ...
- 安装Kubernetes(k8s)保姆级教程---无坑版
一.安装环境说明 硬件要求 内存:2GB或更多RAM CPU: 2核CPU或更多CPU 硬盘: 30GB或更多 本次环境说明: 操作系统:CentOS 7.9 内核版本:3.10.0-1160 mas ...
- 以太坊Rollup方案之 arbitrum(1)
什么是Rollup? 以太坊的Rollup扩容是一种Layer 2(第二层)扩容解决方案,旨在提高以太坊区块链的交易吞吐量和性能.它通过将大量的交易数据转移到以太坊区块链之外的第二层网络来实现这一目标 ...
- Logstash 配置Java日志格式的方法
Logstash 是用于日志收集的开源工具,通常与 Elasticsearch 和 Kibana 一起使用,形成 ELK Stack(现在称为 Elastic Stack).Logstash 非常灵活 ...
- CCIA数安委等组织发起“个人信息保护影响评估专题工作”,合合信息首批入选试点
近期,"个人信息保护影响评估专题工作"(简称"PIA专题工作")试点评估结果正式发布.PIA专题工作组由中国电子技术标准化研究院.中国信息通信院等单位的法律与技 ...
- CSS & JS Effect – Image 倒影框
效果 Step1: HTML 结构 <div class="image"> <img src="./images/img-2.png" /&g ...
- C++11 线程同步接口std::condition_variable和std::future的简单使用
std::condition_variable 条件变量std::condition_variable有wait和notify接口用于线程间的同步.如下图所示,Thread 2阻塞在wait接口,Th ...
- LLM应用实战: 文档问答系统Kotaemon-1. 简介及部署实践
1.背景 本qiang~这两周关注到一个很火的开源文档问答系统Kotaemon,从8月28日至今短短两周时间,github星标迅猛增长10K,因此计划深挖一下其中的原理及奥秘. 本篇主要是Kotaem ...