原错误代码:
SELECT * FROM table WHERE id IN (SELECT id FROM table LIMIT 10);
方案一:再加一层
SELECT * FROM table WHERE id IN (SELECT u.id FROM (SELECT * FROM table LIMIT 10) as u);
方案二:把限制条件放到FROM而非WHERE子句中
SELECT * FROM (SELECT id FROM table LIMIT 10) AS newtable;
注意:如果不写成FROM () AS XXOO的形式,
即不给FROM后的SELECT语句构成表名,那么最后系统仍会报错。