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

如何在SQL Server中实现类似Excel透视表的单列垂直分组效果

实现方案

你需要的单列层级展示效果,可以通过UNION ALL拼接区域行和对应门店行,额外增加排序字段控制展示顺序实现,完整查询如下:

;WITH area_data AS (
    -- 提取去重的区域作为每个分组的首行
    SELECT DISTINCT
        district AS column1,
        district AS sort_group, -- 一级排序字段,保证同区域内容聚合
        0 AS sort_order -- 区域行排序权重设为0,排在同区域门店前
    FROM all_areas

    UNION ALL

    -- 拼接所有门店作为分组下的子行
    SELECT
        store AS column1,
        district AS sort_group,
        ROW_NUMBER() OVER(PARTITION BY district ORDER BY store) AS sort_order -- 门店按顺序生成排序权重
    FROM all_areas
)
SELECT column1
FROM area_data
ORDER BY sort_group, sort_order

逻辑说明

  • 第一层查询先取出所有不重复的区域,作为每个分组的首行
  • 第二层查询把所有门店行拼接在区域行之后,同区域的门店按顺序生成排序权重
  • 最后统一按区域分组、排序权重排序,就能得到你需要的层级展示效果

执行后输出结果完全匹配需求:

column1
-------
district1
store1
store2
district2
store3
store4
store5
district3
store6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:57:03