一行多列变多行多列  

问题:

aa bb cc dd ee ff gg hh ii jj kk ll mm nn oo pp
拆分为:
aa    bb    cc    dd
ee    ff    gg     hh
ii      jj    kk     ll
mm  nn  oo     pp

解答:

xargs -n4

awk -vRS=‘ ‘ ‘ORS=NR%4?" ":"\n"‘

sed ‘s/ /\n/4;P;D‘

一行多列变多行多列

时间: 2024-08-28 20:21:41

一行多列变多行多列  的相关文章

列转行且行转列

原数据格式如下: 这是学生的成绩表,每科为一列,要求转换为下面的格式: 即,把把课程列转换为行,把学生行转换为列: 建表: create table #a(name varchar(20),english int,chinese int ,math int)insert into #a values( 'zhangsan',10,39,40)insert into #a values( 'lisi',16,25,36) 思路:先把列转换为行: select name,km,scorefrom(s

hive udtf 输入一列返回多行多列

之前说到了hive udf,见https://blog.csdn.net/liu82327114/article/details/80670415 UDTF(User-Defined Table-Generating Functions) 用来解决 输入一行输出多行(On-to-many maping) 的需求. 继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF,实现initialize, process, close三个方法. UDTF首先

MySQL 行转列 -》动态行转列 -》动态行转列带计算

Pivot Table Using MySQL - A Complete Guide | WebDevZoomhttp://webdevzoom.com/pivot-table-using-mysql/ Cross-Tabulation (Pivot Tables) with MySQL - CodeProjecthttps://www.codeproject.com/articles/363339/cross-tabulation-pivot-tables-with-mysql Pivot T

hive列转行、行转列

1.列转行 select  t.cust_id          ,concat_ws(',',collect_list(group_id)) one_pace  from (select   'A_001' cust_id                       ,'20191014' group_id           union all           select   'A_001' cust_id                      ,'20191015' group_

C#动态操作DataTable(新增行、列、查询行、列等)

方法一:动态创建一个DataTable ,并为其添加数据 public void CreateTable()        {            //创建表            DataTable dt = new DataTable();                        //1.添加列            dt.Columns.Add("Name", typeof(string)); //数据类型为 文本 //2.通过列架构添加列            Data

再写行转列和列转行

原始表: 1.列转行就是将一列的数据变成行显示,列转行使用了sum聚合函数,case when判断,列转行需要自己定义别名. 列转行语句: SELECT SUM(CASE WHEN T.LOC = 'NEW YORK' THEN T.DEPTNO END) AS COLUMN_00001, SUM(CASE WHEN T.LOC = 'DALLAS' THEN T.DEPTNO END) AS COLUMN_00002, SUM(CASE WHEN T.LOC = 'CHICAGO' THEN

Sqlserver 列转行 行转列

sqlserver的行转列 列转行问题 行转列:1 使用Case when 方式 CREATE TABLE [StudentScores]( [UserName] NVARCHAR(20), --学生姓名 [Subject] NVARCHAR(30), --科目 [Score] FLOAT, --成绩) INSERT INTO [StudentScores] SELECT 'Nick', '语文', 80 INSERT INTO [StudentScores] SELECT 'Nick', '数

SQL行转列 (及EAV模型获取数据)

参考文章: http://www.williamsang.com/archives/1508.html 情景简介 学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列.数据库grade里面数据如下图,假定每个人姓名都不一样,作为主键.本文以MySQL为基础,其他数据库会有些许语法不同. 数据库数据: 处理后效果: 下面介绍三种方法: 方法一: 1 2 3 4 5 SELECT DISTINCT  a.name, (SELECT score FROM grade b

PIVOT:行转列函数

PIVOT函数,行转列 PIVOT函数的格式如下: PIVOT(<聚合函数>([聚合列值]) FOR [行转列前的列名] IN([行转列后的列名1],[行转列后的列名2],[行转列后的列名3],.......[行转列后的列名N]))<聚合函数>就是我们使用的SUM,COUNT,AVG等Sql聚合函数,也就是行转列后计算列的聚合方式.[聚合列值]要进行聚合的列名[行转列前的列名]这个就是需要将行转换为列的列名.[行转列后的列名]这里需要声明将行的值转换为列后的列名,因为转换后的列名其