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

如何从同一张数据表中获取匹配ID=1的DESC值的所有ID

筛选与指定ID的DESC值匹配的所有ID

原始数据表

+------+------+
|ID    |DESC  |
+------+------+
|1     |A     |
+------+------+
|1     |B     |
+------+------+
|2     |A     |
+------+------+
|3     |C     |
+------+------+
|4     |B     |
+------+------+

需求

获取所有满足以下条件的ID:该ID对应的DESC值与ID=1的任意DESC值匹配。

解决方案

方法1:IN子查询法

先通过子查询提取ID=1对应的所有DESC值,再筛选出所有DESC落在该集合中的ID:

SELECT DISTINCT ID
FROM your_table_name
WHERE `DESC` IN (SELECT `DESC` FROM your_table_name WHERE ID = 1);

注:DESC是SQL关键字,需用反引号()包裹避免语法冲突;DISTINCT`用于去重,防止ID=1因多条记录重复输出。

方法2:自连接法

通过自连接关联表中DESC值相等的记录,筛选出关联到ID=1的所有ID:

SELECT DISTINCT t1.ID
FROM your_table_name t1
JOIN your_table_name t2 ON t1.`DESC` = t2.`DESC`
WHERE t2.ID = 1;

预期输出

+------+
|ID    |
+------+
|1     |
+------+
|2     |
+------+
|4     |
+------+

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:45:29