删除具有相同列数据的行

Delete rows with same columns data

我的温度 table 具有以下数据:

tbl_t
id   name_id     date      t1    t2    s1    s2
 1      25     10/05/20   same  same  NULL  NULL
 2      23     11/05/21   same  same  home  NULL
 3      25     12/05/20   same  NULL  NULL  NULL
 4      25     13/06/20   NULL  NULL  NULL  NULL

期望输出:

tbl_t
id   name_id     date      t1    t2    s1    s2
 2      23     11/05/21   same  same  home  NULL
 3      25     12/05/20   same  NULL  NULL  NULL

我想删除 t1=t2 和 s1=s1 的所有行

我尝试了以下 sql 但我发现它不起作用。

DELETE FROM tbl_t WHERE t1=t2 AND s1=s2

问题是 NULL 值。使用 NULL-安全比较运算符:

DELETE FROM tbl_t
    WHERE t1 <=> t2 AND s1 <=> s2;

几乎所有与 NULL 的比较都会导致 NULL -- 包括 NULL = NULL。并且 NULL 值在 WHERE 子句中被视为 false(或等效地 WHERE 子句仅保留条件明确计算为 true 的行)。