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

Oracle查询:获取满足两列数值之和小于100的所有条目

解决Oracle数据库筛选目标行的问题

咱直接说核心:你需要的是逐行计算foo和bar的数值和,筛选出和小于100的行,完全不需要用SUM()聚合函数——因为SUM()是用来对整列所有行的数据求和的,和咱们要的逐行判断逻辑根本不是一回事。

正确的SQL查询语句

SELECT *
FROM your_table_name  -- 替换成你的实际表名
WHERE foo + bar < 100;

为什么不能用SUM函数?

  • 举个反例,如果写SUM(foo) + SUM(bar) < 100,Oracle会先把所有行的foo值加总,再把所有行的bar值加总,最后把这两个总和相加判断是否小于100。这显然不是你要的结果,你要的是单一行内两列的和满足条件。
  • 上面的正确语句会遍历每一行,计算当前行的foo+bar,只要结果小于100就返回该行,正好匹配你预期返回第2、3行的需求(这两行的和分别是51和76,都符合<100的条件)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:32:54