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

SQL多bucket列判断实现:多列值为1返回1,单列为1返回0

实现方案

你可以直接对4个bucket字段求和,再通过CASE语句做判断即可,因为所有bucket字段的取值只有0和1,求和结果自然就是值为1的列的数量:

SELECT
    id,
    bucket_1,
    bucket_2,
    bucket_3,
    bucket_4,
    CASE
        WHEN (bucket_1 + bucket_2 + bucket_3 + bucket_4) > 1 THEN 1
        ELSE 0
    END AS result
FROM 你的表名;

如果你用的数据库中bucket字段是字符串类型存储的0/1,求和前先转成数值类型即可,示例:

CASE
    WHEN (CAST(bucket_1 AS SIGNED) + CAST(bucket_2 AS SIGNED) + CAST(bucket_3 AS SIGNED) + CAST(bucket_4 AS SIGNED)) > 1 THEN 1
    ELSE 0
END AS result

执行上述查询就可以得到你需要的带result字段的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 12:15:04