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

如何按条件将SQL列拆分为两列并生成连续结果视图

解决方案

要实现将原表的id列拆分为id1(存放小于3的id值)和id2(存放剩余id值)的视图,且保证结果连续,可以借助窗口函数ROW_NUMBER()来分组编号后关联,具体SQL语句如下:

CREATE VIEW split_id_view AS
WITH id1_group AS (
    SELECT id AS id1, ROW_NUMBER() OVER (ORDER BY id) AS rn
    FROM your_table
    WHERE id < 3
),
id2_group AS (
    SELECT id AS id2, ROW_NUMBER() OVER (ORDER BY id) AS rn
    FROM your_table
    WHERE id >= 3
)
SELECT id1, id2
FROM id1_group
JOIN id2_group ON id1_group.rn = id2_group.rn;

逻辑说明

  • 先用两个CTE分别筛选出符合条件的两组id:
    • id1_group:筛选id < 3的记录,并用ROW_NUMBER()按id排序生成行号rn
    • id2_group:筛选id >= 3的记录,同样按id排序生成行号rn
  • 通过行号rn将两组数据关联,确保id1和id2按顺序一一对应,最终得到连续的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 12:25:23