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

如何查询steps表中未完成指定步骤(如步骤3)的用户?

针对Steps表的SQL查询方案

一、判断指定步骤X是否已完成

要确认某个用户是否完成了步骤X,可通过以下两种方式实现:

  • 快速返回布尔结果:
SELECT EXISTS(
    SELECT 1 FROM steps 
    WHERE name = '目标用户名' AND step = X
) AS is_step_x_completed;

EXISTS会返回1(已完成)或0(未完成),无对应记录时直接返回0。

  • 直观返回状态文本:
SELECT 
    CASE WHEN COUNT(1) > 0 THEN '已完成' ELSE '未完成' END AS step_x_status
FROM steps
WHERE name = '目标用户名' AND step = X;

二、查询所有未完成步骤3的用户

基于提供的示例数据,以下三种方法均可筛选出未完成步骤3的用户(示例结果为Jenny、Joe):

方法1:用NOT EXISTS排除已完成用户

SELECT DISTINCT name
FROM steps s1
WHERE NOT EXISTS(
    SELECT 1 FROM steps s2
    WHERE s2.name = s1.name AND s2.step = 3
);

方法2:LEFT JOIN关联后筛选未匹配项

SELECT DISTINCT s1.name
FROM steps s1
LEFT JOIN steps s2 
    ON s1.name = s2.name AND s2.step = 3
WHERE s2.id IS NULL;

方法3:分组后判断步骤完成情况

SELECT name
FROM steps
GROUP BY name
HAVING MAX(step) < 3 OR SUM(CASE WHEN step=3 THEN 1 ELSE 0 END) = 0;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:35:45