小编Nic*_*sky的帖子

将postgreSQL中的多行组合成一行?

我是postgreSQL的新手.我的目标是运行一个查询,该查询返回为每个proposal_id列出的所有item_id,其中每个唯一的proposal_id是一个单独的行条目,每个item_id是该行条目中的一列.

表1数据如下所示:

proposal_id    item_id  

1              83054
1              81048
2              71384
2              24282
2              19847
2              18482
3              84720
4              18081
4              73018
Run Code Online (Sandbox Code Playgroud)

这就是我想要它的样子:

proposal_id     item_id_1     item_id_2    item_id_3    item_id_4    item_id_n
1                  83054      81048
2                  71384      24282        19847        18482
3                  84720
4                  18081      73018
Run Code Online (Sandbox Code Playgroud)

挑战在于我可以在1到11个或更多条目之间拥有相同的proposal_id.

这是一个简化版本,用于提出这个问题.一旦我确定了这一点,我的计划就是为这里的其他表格中的每个item_id和proposal_id加入其他数据.

任何帮助非常感谢.

谢谢!

编辑:固定表美学

sql postgresql pivot

5
推荐指数
1
解决办法
7447
查看次数

如何将多个CSV文件合并为一个,只有唯一的值

我在目录中有多个CSV文件,所有文件都具有相同的数据模型,其中有些是重复的。

file1.csv:

1       joe      red
2       bill     blue 
3       bob      green
Run Code Online (Sandbox Code Playgroud)

file2.csv:

3       bob      green
4       mary     white 
5       jim      yellow
Run Code Online (Sandbox Code Playgroud)

file3.csv:

5       jim      yellow
6       lauren    pink  
7       george    purple
Run Code Online (Sandbox Code Playgroud)

我的目标是产生一个包含所有唯一值的CSV文件。

到目前为止,我拥有的代码是这样的:

  1. 使用以下命令连接iTerm2中的所有文件

     cat *.csv > combined.csv
    
    Run Code Online (Sandbox Code Playgroud)
  2. 这个脚本:

    require 'csv'
    
    File.open("all_unique_rows.csv", "w+") { 
    
      |file| file.puts File.readlines("combined.csv").uniq 
    
    }
    
    Run Code Online (Sandbox Code Playgroud)

但是,我希望能够通过单个Ruby脚本来完成全部操作,但是我不确定如何使用Ruby将“ combined.csv”文件变成一个巨型文件。

ruby csv

0
推荐指数
1
解决办法
2140
查看次数

标签 统计

csv ×1

pivot ×1

postgresql ×1

ruby ×1

sql ×1