Mysql 如果任何记录满足条件,则sql忽略记录集

Mysql 如果任何记录满足条件,则sql忽略记录集,mysql,sql,select,Mysql,Sql,Select,如果任何记录满足某个条件,我将尝试忽略一组记录。在我的例子中,我想忽略一组包含空值的记录。这就是我想做的 SELECT * FROM table1 where column2 = 39 and (get rid of all set of column4 with null); 我想在读了其他的想法后,这会起作用 SELECT * FROM table1 WHERE column2 = 39 and column4 NOT IN ( SELECT end_date FROM t

如果任何记录满足某个条件,我将尝试忽略一组记录。在我的例子中,我想忽略一组包含空值的记录。这就是我想做的

SELECT * FROM table1 where column2 = 39 and (get rid of all set of column4 with null);
我想在读了其他的想法后,这会起作用

SELECT *
FROM table1
WHERE column2 = 39 and column4 NOT IN (
    SELECT end_date
    FROM table1
    WHERE column2 = 39 and column4 is not NULL
);
这是我现在得到的数据的一个例子

|    74  |   39 | 1980-11-05 | 1995-03-11 |
|    80  |   39 | 1982-03-23 | 1984-07-12 |
|    10  |   39 | 1988-07-17 | 2005-06-11 |
|    10  |   39 | 2016-11-09 | NULL       |
下面是一个示例,说明我希望数据在完成后的外观。我想去掉最后两个,因为column1中的主键在column4中有一个空值

|    74  |   39 | 1980-11-05 | 1995-03-11 |
|    80  |   39 | 1982-03-23 | 1984-07-12 |

您对
not in
运算符有正确的想法,只需使用正确的列:

SELECT *
FROM   table1
WHERE  column2 = 39 AND 
       id NOT IN (SELECT id
                  FROM   table1
                  WHERE  column2 = 39 AND column4 IS NULL)

你能分享一些样本数据和你想要得到的结果吗?
id
应该是哪一列?我收到了这个错误消息
字段列表中的未知列“id”
@noobprogrammer1987主键列(共享数据集中最左边的一列)