You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Redshift SQL中创建含1-52周的CTE(等效Python range(52))

在Redshift SQL中生成1-52周序列的实现方法

要生成对应Python range(1,53) 的1到52的连续序列,Redshift SQL有两种实用的实现方式:

方法1:使用generate_series函数(简洁高效)

Redshift支持generate_series直接生成连续数值序列,语法简单直观:

作为CTE使用

WITH weeks AS (
    SELECT generate_series(1, 52) AS weeks
)
SELECT * FROM weeks;

作为临时表使用

如果需要将序列持久化为临时表,可执行:

CREATE TEMP TABLE weeks AS
SELECT generate_series(1, 52) AS weeks;

方法2:递归CTE(兼容性更强)

若你的Redshift环境对generate_series有使用限制,递归CTE是更通用的方案,通过自迭代生成序列:

WITH RECURSIVE weeks AS (
    SELECT 1 AS weeks
    UNION ALL
    SELECT weeks + 1 FROM weeks WHERE weeks < 52
)
SELECT * FROM weeks;

以上两种方式都能生成和你Python代码中pd.DataFrame({'weeks':list(range(1,53))})完全一致的结果——包含1到52连续整数的单列数据集。

内容的提问来源于stack exchange,提问作者jbuddy_13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 10:25:19