mysql - 选择不在多列mysql中的行
问题描述
我有以下结果集:
request_id | p_id
66 | 10
66 | 10
66 | 10
66 | 22
66 | 22
76 | 23
76 | 24
我正在尝试选择excludes
记录具有某些组合值的行:
request_id | product_id
66 | 10
76 | 23
所以输出结果集应该只包含这些记录:
66 | 22
66 | 22
76 | 24
我试着做:
select * from `table`
where request_id NOT IN (66, 76) AND product_id NOT IN (10, 22)
但这给了我空的结果集。
如何仅排除这两个值的组合?
解决方案
你可以试试下面 -
select * from `table`
where (request_id, p_id) NOT IN ((66, 10),(76,23))
输出:
request_id p_id
66 22
66 22
76 24
推荐阅读
- playframework - Java Mail - 附加多个 pdf 文件并发送邮件
- python - 是否有基于 PyCharm 的工作流来共享运行/测试配置?
- mysql - docker mysql容器启动后退出
- ios - 如何使用 swift 解析来自具有 2 个 CollectionViews 的 UIViewController 的数据
- spring - 我在eclipse中创建项目后,包名没有正确生成
- python - 无法在 Azure Databricks 上使用 UDF 解压缩流数据 - Python
- c# - 外部子网 PC 中 SQL Server 中的只读操作
- python - 为什么 django 表单输入没有保存在数据库中?
- php - 如果变量为空白/空,如何结束 PHP 进程
- python - 尝试从主机连接到 docker 容器内的 python 套接字