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

如何查询TEST表中同时拥有APP_ID=1和3的USER_ID?

找出同时关联APP_ID=1与APP_ID=3的USER_ID的SQL方案

这里提供几种实用的SQL写法来满足需求:

方法一:分组统计法

利用分组后统计不同APP_ID的数量,因为APP_ID仅存在1和3两个取值,所以当某个USER_ID的不同APP_ID数量为2时,说明它同时关联了两个APP_ID。

SELECT USER_ID
FROM TEST
WHERE APP_ID IN (1, 3)
GROUP BY USER_ID
HAVING COUNT(DISTINCT APP_ID) = 2;

方法二:自连接法

通过将表自连接,匹配同一个USER_ID下分别对应APP_ID=1和APP_ID=3的记录:

SELECT DISTINCT t1.USER_ID
FROM TEST t1
JOIN TEST t2 ON t1.USER_ID = t2.USER_ID
WHERE t1.APP_ID = 1 AND t2.APP_ID = 3;

方法三:子查询法

先筛选出关联APP_ID=3的USER_ID集合,再从中找出同时关联APP_ID=1的USER_ID:

SELECT USER_ID
FROM TEST
WHERE APP_ID = 1
AND USER_ID IN (
    SELECT USER_ID
    FROM TEST
    WHERE APP_ID = 3
);

以上三种方法都能得到符合条件的USER_ID,可根据实际表数据量和数据库性能选择合适的写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:14:51