mysql - 有条件的同一张表上的左外连接
问题描述
我在 mysql 5.7 DB 中有一个名为“mytable”的表,它是这样制作的:
--------------------
| title | flag |
|--------------------|
| first | 0 |
| first | 1 |
| second | 0 |
--------------------
从这个表中,我只需要选择标志 = 0 的行,并从中删除所有具有相同标题且标志 = 1 的行。最终得到如下结果:
--------------------
| title | flag |
|--------------------|
| second | 0 |
--------------------
我怎样才能写我的查询?谢谢。
解决方案
只需使用子查询并将其与 MySQL 的IN()
功能结合使用即可。以下将起作用:
SELECT title,
flag
FROM mytable
WHERE flag = 0
AND title NOT IN( SELECT title FROM mytable WHERE flag = 1 );
推荐阅读
- bash - 静默/自动 Homebrew 安装
- node.js - socket.io 处理两个客户端
- node.js - DynamoDB 中的最大记录数
- excel - Excel VBA 匹配函数将字符串或整数变量作为 Arg1
- mysql - 在 SQL 语句中使用局部变量的问题
- git - 在远程存储库中搜索文件名/内容
- asp.net - 用于查询 SQL Server 并返回结果的 Web API 未按预期工作
- cmake - CMake find_library:为什么在默认路径之后搜索PATHS中的路径?
- c# - c#遍历linq结果并更新字段
- extjs - ExtJS 使用 Ajax 加载链接列表树