union all中使用order by子查询时需将含order by的子查询包在一个不含order by的查询里再进行union all。
否则会报错“[Err] 1221 - Incorrect usage of UNION and ORDER BY”
例如:
1.错误用法:
select id from test1 order by id
union all
select id from test2 order by id
2.正确用法:
select * from (select id from test1 order by id) t1
union all
select * from (select id from test2 order by id) t2
本文介绍在SQL中使用UnionAll结合OrderBy的正确方法。错误用法会导致数据库返回“Incorrect usage of UNION and ORDER BY”错误。通过将子查询包装在另一个查询中可以避免此问题。
1403

被折叠的 条评论
为什么被折叠?



