,我有以下表中调用的MySQL数据库tbl_test:删除用户如果没有其他用户具有相似特征存在
+------+------------+------------+
| name | fav_color | dob |
+======+============+============+
| jane | blue | 1996-07-07 |
+------+------------+------------+
| jane | pink | 1996-07-07 |
+------+------------+------------+
| jane | pink | 2016-07-07 |
+------+------------+------------+
| joe | pink | 2001-07-07 |
+------+------------+------------+
| john | red | 1997-07-07 |
+------+------------+------------+
在英语中,这是我想要完成的任务:
删除所有使用dob < 2001-01-01的用户,但保留一个用户,如果存在具有相同名称AND fav_color其dob> = 2001-01-01的其他用户。
所以在这个例子中,最喜欢的颜色是蓝色和约翰的jane将被删除。
到目前为止,我已经试过:
DELETE FROM tbl_test
WHERE dob < '2000-01-01' AND name, fav_color NOT IN
(SELECT T.name, T.fav_color FROM
(SELECT name, fav_color FROM tbl_test WHERE dob >= '2000-01-01') T);
但是,当我输入这个命令的MySQL抛出一个语法错误。有关如何实现此目的的任何提示?