# Python 行转列拼接实现指南
## 1. 整体流程
我们将通过以下步骤来实现 Python 中的行转列拼接:
```mermaid
journey
    title 行转列拼接实现流程
    section 步骤
        开始 --> 数据导入
        数据导入 --> 数据转置
        数据转置 --> 数据拼接
        数据拼接 --> 结束            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-24 04:36:21
                            
                                68阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            数据库查询中难免会遇到行列转换的情况,摘列一些较精典的解决方案
--####################################################################一、采用SQL decode和PL/SQL函数实现--####################################################################1、            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2009-07-02 09:24:29
                            
                                3035阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            今天写一个sql 行转列的题目,在此做以记录统计每一个人操作次数,最后按总次数从大到小排序。    ROWNUM USERNAME   01 02 03 04 05 06 07 08 09 10 11             
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-04-23 16:25:27
                            
                                912阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            搭建数据            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-04-26 18:42:08
                            
                                235阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、行转列 create table TEST_TABLE(  STUDENT VARCHAR2(200),  SUBJECT VARCHAR2(200),  GRADE   NUMBER)insert into test_table(student , Subject , grade) values('张三'            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-02-24 09:33:35
                            
                                283阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Create   table   test   (name   char(10),km   char(10),cj   int)         insert   test   values('张三','语文',80)     insert   te            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2009-07-02 09:19:52
                            
                                1275阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            drop table ABC;   create table ABC(id number,name varchar2(50),kcName varchar2(50),score number);  insert into ABC values(1,'张三','语文',88);  insert into ABC values(2,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2014-06-21 19:21:15
                            
                                383阅读
                            
                                                        
                                点赞
                            
                                                                                    
                                1评论
                            
                                                 
                 
                
                             
         
            
            
            
             Create   table   test   (name   char(10),km   char(10),cj   Number)         insert   into   test   values('张三','语文',80)   &n            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2014-09-01 13:56:01
                            
                                610阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             SELECT *  FROM  (SELECT t.parent_group,    t.country,    t.project_num      FROM  RPT_GP_COUNTRY t      where t.parent_group is not null  and t.rpt_type = 0)  PIVOT (        SUM(project_num)    --<            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-10-12 17:35:04
                            
                                692阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            create or replace procedure row_to_col(tabname in varchar2,
                  &n            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2015-04-16 13:32:58
                            
                                542阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              create table demo(id int,QU varchar(20),name varchar(20),nums int); ---- 创建表insert into demo values(1, 'Q1','苹果', 1000);insert into demo values(2, 'Q2', '苹果', 2000);insert into demo values(3,  'Q3',            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-08-19 15:05:00
                            
                                369阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            行转列最简单通俗的方法:使用sum、max等集合函数 包含如decode、"case when then end"或ifnull这样的条件语句,作为一列,以此方法转换行为列。 以下是个实例(一张表里既存储了公司又存储了部门,当要同时显示出公司和部门,那就用到行转列了):select proch.id ID,       max(decode(bt.id, proch....            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-04-20 21:11:59
                            
                                196阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            环境oracle 10g工作关系,常做些行转列报表,报表通常不是在大数据集合上处理.所以写了个过程.本过程比较适合在于需要动态输出报表的地方,例如web中.不是很完美,但已经可以解决绝大部分的问题.create or replace function func_RowToCol(viewName Varchar2,grpCols Varchar2,colCol Varchar2,valueCol            
                
         
            
            
            
            oracle 行转列            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-04-30 01:03:35
                            
                                882阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              SQL> create table temp1
  2  (c1 varchar2(20),
  3  c2 number(3));
Table created.
SQL> insert into temp1
  2  (c1,c2)
            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-04-22 00:11:10
                            
                                545阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            
据库查询中难免会遇到行列转换的情况,摘列一些较精典的解决方案--####################################################################一、采用SQL decode和PL/SQL函数实现--####################################################################1、固定            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-03 15:12:16
                            
                                209阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            近期在工作中。对行转列进行了应用,在此做一个简单的小结。 转换步骤例如以下: 1、创建表结构 CREATE TABLE RowToCol            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-05-18 11:50:00
                            
                                616阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            listagg()WITHINGROUP()SELECTT.DEPTNO,listagg(T.ENAME,',')WITHINGROUP(ORDERBYT.ENAME)namesFROMSCOTT.EMPTWHERET.DEPTNO='20'GROUPBYT.DEPTNO            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2019-12-12 13:53:41
                            
                                910阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            行转列的两种方法(多行转多列) 参考链接: http://www.2cto.com/database/201501/3671.html http://www.oracle-developer.net/display.php?id=506 示例一: 测试数据源 第一步:建表 CREATE TABL            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-03-01 16:42:34
                            
                                205阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            有时候我们在展示表中数据的时候,需要将行转为列来显示,如以下形式:原表结构展示如下:---------------------------产品名称    销售额     季度---------------------------奶酪          50     第一季度奶酪          60     第二季度啤酒          50     第二季度啤酒          80               
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-08-19 15:01:00
                            
                                73阅读
                            
                                                                                    
                                2评论