1.错误分析 昨天把代码上到生产上时报错了,原因是生产环境的mysql版本是5.7,distinct和order by不能一起用,然后想着在外面再套一层查询,然后进行order by,然后就报了1248这个错误。 2.错误解决 出现这个问题的原因就是子表没有加别名 3.示例 3.1 错误sql 这种sql会报错 select * from (select * from user); 3.2 正确sql 正确sql,添加别名 select * from (select * from user) as tmp;