union all子查询排序
  40IdLO25mCaU 2023年11月02日 28 0


union all子查询排序

正确sql:

(select * from menu ORDER BY `name` limit 5)
union all (select * from menu ORDER BY `name` desc limit 5)

起始SQL:
子查询分别排序,结果报错,明显是union all和order的使用有错

select * from menu ORDER BY `name` 
union all (select * from menu ORDER BY `name` desc )

[Err] 1221 - Incorrect usage of UNION and ORDER BY

查看资料显示,order by如果写在最后面是对整个结果的排序:

子查询1
union all
字查询2 order by......

不是对子查询2的排序,想到加上括号:

(select * from menu ORDER BY `name` )
union all (select * from menu ORDER BY `name` desc )

没有报错有数据,但是发现数据的顺序不是我们想要的,根本就没有排序,继续查找发现需要加limit关键字。

(select * from menu ORDER BY `menu` limit 5)
union all (select * from menu ORDER BY `menu` desc limit 5)


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  jmWSp8RIQOBK   2023年11月02日   33   0   0 MySQLdocker
  Mq5NULwcAMsM   2023年11月02日   51   0   0 PythonSQL
40IdLO25mCaU