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

MySQL同表查询如何编写WHERE条件排除同时满足两字段指定值的记录

问题原因

你原有查询中的(remote_id!= 1234 andcompany_id = 1)逻辑强制要求所有返回结果的company_id必须等于1,不符合你要保留其他company_id符合基础筛选条件的需求。

正确SQL写法

select * 
from `my_table` 
where 
  -- 基础筛选条件
  `status` = 1 
  and `amount` = 150
  -- 仅排除同时满足两个条件的指定记录
  and not (`remote_id` = 1234 and `company_id` = 1);

逻辑说明

  • 先保留所有满足status=1、amount=150的全量符合基础规则的记录
  • 再剔除唯一需要排除的「remote_id等于1234且company_id等于1」的单条记录,其余所有符合基础条件的记录都会被返回:包括company_id≠1的所有符合基础条件的记录,也包括company_id=1但remote_id≠1234的符合基础条件的记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:48:03