Every derived table must have its own alias
每个衍生出来的表必须要有它自己的别名。
命名一个衍生表的别名,使用AS语句。
而AS关键字的位置很多,在此情况下,放到衍生表后。
错误示范01:
执行语句:
DELETE FROM hetc_recordinfo WHERE identifier <= 40 AND votime='2017-12-14' AND sole NOT IN (SELECT * FROM (SELECT sole FROM AS list `hetc_recordinfo` WHERE identifier <= 40 AND votime='2017-12-14' GROUP BY phone) );
执行结果:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS list `hetc_recordinfo` WHERE identifier <= 40 AND votime='2017-12-14' GROUP B' at line 1
错误示范02:
执行语句:
DELETE FROM hetc_recordinfo WHERE identifier <= 40 AND votime='2017-12-14' AND sole NOT IN (SELECT * FROM (SELECT sole FROM `hetc_recordinfo` WHERE identifier <= 40 AND votime='2017-12-14' GROUP BY phone AS list) );
执行结果:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS list) )' at line 1
正确示范:
执行语句:
DELETE FROM hetc_recordinfo WHERE identifier <= 40 AND votime='2017-12-14' AND sole NOT IN (SELECT * FROM (SELECT sole FROM `hetc_recordinfo` WHERE identifier <= 40 AND votime='2017-12-14' GROUP BY phone) AS list);
执行结果:
受影响的行: 12
时间: 11.643s
(以上是删除同一表重复数据的操作)