gpt4 book ai didi

SQL - 选择列中所有值都相同的行

转载 作者:行者123 更新时间:2023-12-04 14:31:42 25 4
gpt4 key购买 nike

我有一个一直困扰我的 SQL 问题,希望有人能提供帮助。

我有以下数据:

TEAM | USERID | STEP1 | STEP2 | STEP3 | STEP4 | STEP5 001 | 000001 |   Y   |   Y   |   N   |   N   |   Y 001 | 000002 |   Y   |   N   |   N   |   Y   |   Y 002 | 000003 |   N   |   Y   |   Y   |   N   |   N 002 | 000004 |   N   |   Y   |   Y   |   Y   |   Y 003 | 000005 |   Y   |   N   |   N   |   Y   |   N 003 | 000006 |   Y   |   Y   |   Y   |   N   |   Y


我需要做的是返回 TEAM 的值,其中任何 STEPx 的所有值都是“N”。

所以在上面的示例中,我需要 TEAM 001 和 002返回是因为在 TEAM 001 中,STEP3 的所有值都是“N”,而在 TEAM 002 中,STEP1 的所有值都是“N”。

如有任何帮助,我们将不胜感激。

最佳答案

select team
from table
group by team
having
sum(case step1 when 'N' then 0 else 1 end) = 0
or sum(case step2 when 'N' then 0 else 1 end) = 0
or sum(case step3 when 'N' then 0 else 1 end) = 0
or sum(case step4 when 'N' then 0 else 1 end) = 0
or sum(case step5 when 'N' then 0 else 1 end) = 0

这是一个 fiddle :http://sqlfiddle.com/#!6/ecbff/3

规范化您的数据可能更好,这样您就有一个名为 STEP 的 int 列,每个团队/用户/步骤一行。这将使您的查询不那么尴尬。

关于SQL - 选择列中所有值都相同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32468634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com