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

需求:生成按用户判断问卷完成状态的SQL查询语句

解决方案

你需要按UserID、用户名、SurveyID完整分组,再通过聚合函数判断分组内是否存在跳过的问题,以此生成目标状态标识。

原始数据

UserID用户名SurveyIDQuestionIDResponseIDisSkipped
1Test11001010
1Test11002020
2Test21011030
2Test21012041
3Test31021051
3Test31022061

期望输出

UserID用户名SurveyIDComplete
1Test11000
2Test21011
3Test31021

正确SQL查询语句

SELECT 
    UserID,
    用户名,
    SurveyID,
    CASE 
        WHEN MAX(isSkipped) = 0 THEN 0 
        ELSE 1 
    END AS Complete
FROM 
    你的表名
GROUP BY 
    UserID, 用户名, SurveyID;

关键说明

  • 之前出现多行结果,大概率是分组字段不全,必须把UserID、用户名、SurveyID都加入分组,才能保证每个用户的单份问卷只返回一行。
  • MAX(isSkipped)的逻辑:如果分组内有任何一个问题被跳过(isSkipped=1),最大值就是1,标记为未完成;所有问题都未跳过则最大值为0,标记为已完成。
  • 也可以用SUM(isSkipped)替代,判断逻辑为总和等于0则已完成,否则未完成:
SELECT 
    UserID,
    用户名,
    SurveyID,
    CASE 
        WHEN SUM(isSkipped) = 0 THEN 0 
        ELSE 1 
    END AS Complete
FROM 
    你的表名
GROUP BY 
    UserID, 用户名, SurveyID;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:07:13