如何在postgresql中拆分表
我得到了一个大约70000行的数据集,现在我想将这个表拆分为三行(代码第一次在SAS中应用,现在转移到postgresql),一行从1-5000,两行从5001-25000,最后一行是剩余的行,其中任何一行都没有重复的行。 比如: 最后,我想要三个表,其中包含我指定的确切行数(例如3rows-2rows-rest行),并且它们都是不同的。例如: 表1: 表2:如何在postgresql中拆分表,sql,postgresql,Sql,Postgresql,我得到了一个大约70000行的数据集,现在我想将这个表拆分为三行(代码第一次在SAS中应用,现在转移到postgresql),一行从1-5000,两行从5001-25000,最后一行是剩余的行,其中任何一行都没有重复的行。 比如: 最后,我想要三个表,其中包含我指定的确切行数(例如3rows-2rows-rest行),并且它们都是不同的。例如: 表1: 表2: +--------+-----+--------+-----+ | cst_id | age | salary | sex | +---
+--------+-----+--------+-----+
| cst_id | age | salary | sex |
+--------+-----+--------+-----+
| 4 | 51 | 5000 | M |
| 5 | 26 | 6000 | F |
+--------+-----+--------+-----+
表3:
+--------+-----+--------+-----+
| cst_id | age | salary | sex |
+--------+-----+--------+-----+
| 6 | 28 | 7000 | F |
| 7 | 39 | 8000 | M |
+--------+-----+--------+-----+
如何使用postgresql完成此操作?您可以将此过程作为一个函数拆分为多个步骤
希望这会有所帮助。有一个窗口功能“NTILE”可以做到这一点: --添加列以帮助拆分
创建临时表帮助\u表为
选择*
第(3)部分(按类别id订购)作为批次编号
从你的桌子上 将表_1创建为 从“帮助”表格中选择*,其中批次编号=1 将表2创建为 从“帮助”表格中选择*,其中批次编号=2 将表3创建为
从“帮助”表格中选择*,其中批次编号=3 问题是什么?@YahyaHussein如何使用postgresql完成上述拆分作业?我假设您只想选择一个具有不同行数和行号的集合,然后将其分块插入?@VaoTsun我已对其进行了编辑check@a_horse_with_no_name我已经编辑过了,请检查我喜欢这个功能
+--------+-----+--------+-----+
| cst_id | age | salary | sex |
+--------+-----+--------+-----+
| 4 | 51 | 5000 | M |
| 5 | 26 | 6000 | F |
+--------+-----+--------+-----+
+--------+-----+--------+-----+
| cst_id | age | salary | sex |
+--------+-----+--------+-----+
| 6 | 28 | 7000 | F |
| 7 | 39 | 8000 | M |
+--------+-----+--------+-----+