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

如何编写SQL查询筛选c3=100时c2值大于c3=101时c2值的id

需求说明

筛选出符合以下规则的id:同一id分组下,c3字段值为100时对应的c2字段取值,大于c3字段值为101时对应的c2字段取值。本次查询预期返回结果为841213874。

SQL实现方案

方案1:自连接实现(逻辑直观,易理解)

将表分别和自身关联,匹配同id下c3为100和101的两条记录,再做值比较:

SELECT DISTINCT t1.id
FROM 你的表名 t1
INNER JOIN 你的表名 t2
  ON t1.id = t2.id
  AND t1.c3 = 100
  AND t2.c3 = 101
WHERE t1.c2 > t2.c2;

方案2:聚合函数实现(代码更简洁)

先过滤出c3为100、101的记录,按id分组后通过条件聚合做值比较:

SELECT id
FROM 你的表名
WHERE c3 IN (100, 101)
GROUP BY id
HAVING MAX(CASE WHEN c3 = 100 THEN c2 END) > MAX(CASE WHEN c3 = 101 THEN c2 END);

注意:执行前请将SQL中的你的表名替换为实际业务中的表名即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 19:30:03