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

MySQL技术问询:求基于三列筛选行求和等于指定值的高效查询

解决方案:筛选三列求和等于指定值的MySQL查询

没问题!这其实是个很常见的需求,用MySQL的WHERE子句直接计算三列的和就能轻松实现,语句简洁又高效。

基础查询语句(无NULL值场景)

假设你的表名为your_table,需要计算的三列是col1、col2、col3,目标求和值是target_value,可以用下面的语句:

SELECT *
FROM your_table
WHERE (col1 + col2 + col3) = target_value;

处理包含NULL值的场景

如果你的列中可能存在NULL值(因为NULL和任何数值相加结果都是NULL,会导致符合条件的记录被漏掉),可以用COALESCE()函数把NULL转换为0,确保求和准确:

SELECT *
FROM your_table
WHERE (COALESCE(col1, 0) + COALESCE(col2, 0) + COALESCE(col3, 0)) = target_value;

实际示例

举个具体的例子,假设你有一张order_items表,三列分别是item1_qty、item2_qty、item3_qty,想要筛选出这三列数量总和等于15的订单记录:

SELECT *
FROM order_items
WHERE (item1_qty + item2_qty + item3_qty) = 15;

如果这三列里可能有NULL(比如某些订单只买了其中两种商品),就用带COALESCE的版本:

SELECT *
FROM order_items
WHERE (COALESCE(item1_qty, 0) + COALESCE(item2_qty, 0) + COALESCE(item3_qty, 0)) = 15;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:33:20