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

如何在BigQuery中生成特定循环规律的Row_Count序列?

在BigQuery中生成指定循环序列的解法

可以通过分组周期计算结合条件判断实现这个重复序列逻辑,具体SQL如下:

WITH numbered_data AS (
  SELECT 
    Id,
    -- 生成连续行号,若Id本身是连续递增的,可直接用Id代替此rn
    ROW_NUMBER() OVER(ORDER BY Id) AS rn
  FROM your_table -- 替换为你的实际表名
)
SELECT
  Id,
  CASE
    -- 前两个5行块(每个周期的前10行):生成1-5的序列
    WHEN (rn - 1) % 16 < 10 THEN ((rn - 1) % 5) + 1
    -- 第三个6行块(每个周期的后6行):生成1-6的序列
    ELSE ((rn - 1) % 16 - 10) + 1
  END AS Row_Count
FROM numbered_data
ORDER BY Id;

逻辑说明:

  1. 生成连续行号:用ROW_NUMBER()确保每行有一个连续递增的序号(如果你的Id本身是连续无间隔的,可省略CTE直接用Id替代rn)。
  2. 定义大周期:你的循环模式是「2个5行序列 + 1个6行序列」,总长度为5+5+6=16行,用(rn-1)%16计算每行在周期内的偏移量。
  3. 分块生成序列:
    • 偏移量0-9对应前两个5行块,通过(offset)%5 +1循环生成1-5的序列;
    • 偏移量10-15对应6行块,通过offset-10 +1生成1-6的序列。

测试你提供的示例数据,这个SQL会精准生成你需要的Row_Count序列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 20:33:24