如何在PostgreSQL中按指定次数重复数据行?
PostgreSQL实现行数据按指定次数重复的方案
需求说明
将your_table表中的每行数据,根据cc字段的数值重复对应次数。
实现SQL
SELECT t.name, t.cc FROM your_table t JOIN generate_series(1, t.cc) gs ON true;
原理说明
PostgreSQL的generate_series(1, t.cc)函数会为每行数据生成一个从1到该行cc值的整数序列,通过将原表数据与这个序列做笛卡尔连接,就能让原行数据重复cc次,完全匹配你需要的结果。
是否需要Python处理?
不需要。数据库层面直接用上述SQL就能高效完成需求,相比导出数据到Python再处理,这种方式更节省资源,尤其是数据量较大时优势更明显。
内容的提问来源于stack exchange,提问作者菜合馍馍
相关产品推荐
相关产品推荐

