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

如何从Category_Two取唯一值并标记对应Category_One的组成情况

问题:如何按要求查询数据表结果

原始数据表定义及数据插入

CREATE TABLE #Temp1 
(
    Category_One varchar(10),
    Category_Two varchar(10)
)

INSERT INTO #Temp1 (Category_One, Category_Two)
VALUES ('a', 'c'), 
       ('b', 'c'),
       ('a', 'd'),
       ('b', 'd'),
       ('a', 'e'),
       ('a', 'f'),
       ('b', 'g')

原始数据内容

Category_OneCategory_Two
ac
bc
ad
bd
ae
af
bg

查询需求

获取Category_Two的唯一值列表,同时新增一列说明该值对应的Category_One是否包含两个不同的类别,目标结果如下:

Category_FinalDescription
cCategory a and b
dCategory a and b
eCategory a
fCategory a
gCategory b

解决方案

可以通过分组统计+条件判断实现,以下是SQL查询语句:

SELECT 
    Category_Two AS Category_Final,
    CASE 
        WHEN COUNT(DISTINCT Category_One) = 2 THEN 'Category a and b'
        WHEN MAX(Category_One) = 'a' THEN 'Category a'
        ELSE 'Category b'
    END AS Description
FROM #Temp1
GROUP BY Category_Two
ORDER BY Category_Final

逻辑说明

  1. 按Category_Two分组,确保每个Category_Two仅出现一次;
  2. 用COUNT(DISTINCT Category_One)统计分组内不同Category_One的数量;
  3. 通过CASE语句生成对应描述:
    • 数量为2时,说明同时包含a和b,返回Category a and b;
    • 否则判断分组内的Category_One类型,返回对应描述;
  4. 按Category_Final排序,与目标结果顺序一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 01:52:14