【发布时间】:2021-02-06 13:41:21
【问题描述】:
我需要帮助来创建查询
目前情况:
输出表包含 ID 和级别。每个 Id 可以出现多次。
问题:
现在我想知道 id 是否出现级别 1,如果是,我想将其标记为数字 1。如果 ID 只有级别 2 或零,则将其标记为数字 0。
可以从下表中获取输出。
【问题讨论】:
标签: sql sql-server select case
我需要帮助来创建查询
目前情况:
输出表包含 ID 和级别。每个 Id 可以出现多次。
问题:
现在我想知道 id 是否出现级别 1,如果是,我想将其标记为数字 1。如果 ID 只有级别 2 或零,则将其标记为数字 0。
可以从下表中获取输出。
【问题讨论】:
标签: sql sql-server select case
使用聚合:
select id,
max(case when level = 1 then 1 else 0 end) as flag
from t
group by id;
【讨论】:
level 的值为 1 时,case 才会返回 1。 max() 总结了给定 id 的所有行。