我想运行 mysql 查询来选择表“a”中 ID 列的值不存在于 ID_REFERENCE 列中的所有行。
这是我的表格内容:
| ID | ID_REFERENCE | 总计 | 姓名 |
| 1 | 3 | 1500 | 约翰 |
| 2 | - | 1000 | 埃里克 |
| 3 | 1 | 1300 | 约翰 |
| 4 | 8 | 1000 | 亚历克斯 |
| 5 | - | 2000 | 巴尼 |
| 6 | 7 | 1800 | 阿迪斯 |
| 7 | - | 500 | 阿迪斯 |
| 8 | 4 | 700 | 亚历克斯 |
我需要显示这个
| ID | ID_REFERENCE | 总计 | 姓名 |
| 1 | 3 | 2800 | 约翰 |
| 2 | - | 1000 | 埃里克 |
| 4 | 8 | 1700 | 亚历克斯 |
| 5 | - | 2000 | 巴尼 |
| 6 | 7 | 2300 | 阿迪斯 |
ID列是唯一的
我很难实现希望。谢谢
使用不存在
select t1.* from a t1 where
not exists ( select 1 from a t2 where t2. ID_REFERENCE =t1.id)
或不用于
select t1.* from a t1 where a.ID not in ( select ID_REFERENCE from a where a. ID_REFERENCE is not null)
您可以尝试以下 -
select min(id), max(ID_REFERENCE), sum(TOTAL),name
from tablename
group by name
选择* 来自你的表 WHERE field1 NOT LIKE CONCAT('%', field2, '%');