iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >DB2行列转置的行转列是怎样的
  • 434
分享到

DB2行列转置的行转列是怎样的

2024-04-02 19:04:59 434人浏览 薄情痞子
摘要

DB2行列转置的行转列是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。建表,并insert 2行数据CREATE TABLE Sales

DB2行列转置的行转列是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

建表,并insert 2行数据
CREATE TABLE SalesAgg(year INTEGER, q1 INTEGER, q2 INTEGER, q3 INTEGER, q4 INTEGER);
insert into SalesAgg values(2004,20,30,15,10);
insert into SalesAgg values(2005,18,40,12,27);

Select * from SalesAgg

 YEAR Q1 Q2 Q3 Q4
 ---- -- -- -- --
 2004 20 30 15 10
 2005 18 40 12 27

想把数据转成下面的样子
 YEAR QUARTER RESULTS
 ---- ------- -------
 2004       1      20
 2004       2      30
 2004       3      15
 2004       4      10
 2005       1      18
 2005       2      40
 2005       3      12
 2005       4      27

列转换成行的sql
SELECT Year, Quarter, Results
FROM SalesAgg AS S,
LATERAL(VALUES(1, S.q1),
(2, S.q2),
(3, S.q3),
(4, S.q4))
AS Q(Quarter, Results); LATERAL的地方可以换成TABLE,结果一样,其目的都是通过VALUES值来组合成一个临时表Q在SQL中使用
SELECT Year, Quarter, Results
FROM SalesAgg AS S,
TABLE(VALUES(1, S.q1),
(2, S.q2),
(3, S.q3),
(4, S.q4))
AS Q(Quarter, Results);

另外一个使用TABLE的例子
SELECT id ANSWER
    ,salary AS sal
    ,comm AS com
    ,combo
    ,typ
FROM staff
    ,TABLE (
        VALUES (
            salary
            ,'SAL'
            )
            ,(
            comm
            ,'COM'
            )
        ) AS tab(combo, typ)
WHERE id < 40
ORDER BY id
    ,typ;                   

行转列使用示例

CREATE OR REPLACE PROCEDURE DB2INST1.TEST(OUT out_msg VARCHAR(4000))
SPECIFIC DB2INST1.TEST
MODIFIES SQL DATA
NOT DETERMINISTIC
NULL CALL
LANGUAGE SQL EXTERNAL ACTioN
INHERIT SPECIAL REGISTERS
BEGIN
    DECLARE v_col1s VARCHAR(4000);
    DECLARE v_sql VARCHAR(4000);
    SELECT SUBSTR(XMLCAST(XMLGROUP(',' || col1 AS a ORDER BY col1) as varchar(4000)),2) into v_col1s FROM aaa;
    SET out_msg = 'SELECT * FROM aaa where col1 in (' || TRIM(v_col1s) || ')';     

看完上述内容,你们掌握DB2行列转置的行转列是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: DB2行列转置的行转列是怎样的

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

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

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

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

下载Word文档
猜你喜欢
  • DB2行列转置的行转列是怎样的
    DB2行列转置的行转列是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。建表,并insert 2行数据CREATE TABLE Sales...
    99+
    2024-04-02
  • Oracle——行转列与列转行
    文章目录 行转列创建表和增加测试数据方式一:先分组,再统计平铺方式二:使用Oracle11g自带函数PIVOT实现 列转行创建表和增加测试数据方式一:union all 单个合并...
    99+
    2023-09-02
    oracle 数据库 mysql
  • mysql行转列和列转行的方法是什么
    在MySQL中,行转列和列转行通常使用以下方法来实现: 使用聚合函数和CASE语句进行行转列操作: SELECT ...
    99+
    2024-04-09
    mysql
  • SQL行转列与列转行的方法
    本文小编为大家详细介绍“SQL行转列与列转行的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“SQL行转列与列转行的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。数据集+---+----------+|i...
    99+
    2023-06-29
  • JSON数据行转列的应用是怎样的
    这篇文章将为大家详细讲解有关JSON数据行转列的应用是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。背景先说说为什么要弄什么行转列。时间类别费用201...
    99+
    2024-04-02
  • SQL行转列与列转行详情
    1.数据集 +---+----------+ |id |login_date| +---+----------+ |01 |2021-02-28| |01 |2021-03-01| ...
    99+
    2024-04-02
  • MySQL中的经典面试题——行转列(列转行)
    目录 1、简介:   1. 行转列(Pivot): 2. 列转行(Unpivot): 2、行转列,列转行的思想 3、实现 3.1、实现行转列 3.2、总结(行转列)实现的两种方法   3.3、实现(列转行)  3.4、...
    99+
    2023-10-01
    mysql 数据库 sql
  • Python中xlsx文件转置操作详解(行转列和列转行)
    目录1.原始数据是这样的2.脚本如下:3.运行脚本后生成的xlsx文件,如下:附:pivot方法即可完成行转列哦总结1.原始数据是这样的 2.脚本如下: import pandas...
    99+
    2024-04-02
  • postgresql行转列与列转行图文教程
    目录列转行行转列总结列转行 PostgreSQL列转行的思路主要是利用string_to_array进行数组转换,然后用unnest进行行拆分 select t.bid_unit,unit_id from u...
    99+
    2023-06-11
    postgresql行转列 postgresql列转行
  • SQL如何实现行转列和列转行
    这篇文章给大家分享的是有关SQL如何实现行转列和列转行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。行列互转,是一个经常遇到的需求。实现的方法,有case when方式和2005...
    99+
    2024-04-02
  • 怎么在SQL中实现行转列和列转行
    怎么在SQL中实现行转列和列转行?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。行列转换就是如下图所示两种展示形式的互相转换行转列假如我们有...
    99+
    2024-04-02
  • sql多表行转列和级联行转列的方法
    本篇内容主要讲解“sql多表行转列和级联行转列的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“sql多表行转列和级联行转列的方法”吧!现有两表A,B A表存...
    99+
    2024-04-02
  • mysql 行转列
    以下是其中比较常见的几种方法: 使用GROUP_CONCAT函数 可以使用GROUP_CONCAT函数将多行数据合并为一行,并以逗号或其他分隔符进行分隔。通过SELECT语句和GROUP BY子句,可以将数据行转换为列。具体语法如下...
    99+
    2023-08-20
    mysql 数据库 sql
  • pandas如何优雅的列转行及行转列详解
    目录一、列转行1、背景描述2.方法描述2.1 方法12.2 方法22.3 方法32.4 方法43 思考与总结4 思维延伸4.1 例子14.2 例子2二、行转列1.准备数据2.行转列实...
    99+
    2024-04-02
  • mysql 列转行
    一、列转行 mysql 数据库中,我们可能遇到将数据库中某一列的数据(多个值,按照英文逗号分隔),转化为多行数据(即一行转多行),然后join关联表,再转化为一行数据 如:有两张表,一用户表,一张学科表,需要查询学科表中的用户姓名 用...
    99+
    2023-08-31
    mysql 数据库 sql
  • oracle 行转列
     Create   table   test   (name   char(10),km   char(10),cj &nbs...
    99+
    2024-04-02
  • Pandas.DataFrame行和列的转置的实现
    目录pandas.DataFrame.Tpandas.DataFrame.transpose()修改原始对象本身当进行类型转换(广播)时视图和复制如果要交换(转置)pandas.Da...
    99+
    2023-02-22
    Pandas DataFrame行列转置 Pandas.DataFrame行列交换
  • Pandas.DataFrame行和列如何转置
    本篇内容主要讲解“Pandas.DataFrame行和列如何转置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pandas.DataFrame行和列如何转置”吧!如果要交换(转置)pandas....
    99+
    2023-07-05
  • pgsql行转列的方法是什么
    在 PostgreSQL 中,可以使用 crosstab 函数来实现行转列的操作。crosstab 函数需要通过安装 tablefu...
    99+
    2024-04-02
  • MySQL中列转行和行转列总结解决思路
    目录引言列转行行转列总结引言 在学习sql中遇到了列转行和行转列的题目,这里总结一下如何在对应的情景下解决不同的题目; 列转行 创建一个表stu_score_01: SET NAMES utf8mb4; SET FORE...
    99+
    2023-01-30
    MySQL列转行和行转列 MySQL列转行 MySQL行转列
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作