首页 / Mysql / Mysql联合查询UNION和Order by同时使用报错问题的解决办法

Mysql联合查询UNION和Order by同时使用报错问题的解决办法

因此,常常出现这样的错误

目前为止,还没有出现问之后,也许有人会用到类似的查询

此时就出现问题了,数据库报错。问题就出在order by上

因此,常常出现这样的错误

目前为止,还没有出现问

之后,也许有人会用到类似的查询

此时就出现问题了,数据库报错。问题就出在order by上

为什么呢?难道UNION和ORDER BY 不能同时存在?

union和 order by 当然是可以同时存在的

但是在使用union的时候,联合查询不仅仅是将数据集合合并
他并不是将每个子查询一个一个查询出来后联接在一起,数据库是将整段查询语句理解之后统一查询得到的是整个的数据集合
另外order by在一个数据集合查询里也只能出现一次并且出现在最后。
因此,在联合查询里,order by 要写在最后一个子查询之后,并且,该排序是对整个联合查询出来的结果集排序的,并不是只对最后一个子查询排序

这样就可以对我们联合查询出来的结果集进行整体排序,而不是只对最后一个子查询的结果集排序。

再做一个试验来更充分的说明这个问题

创建一个这样的查询

union

select * from [IND] where INDID=2
union
select * from [IND] where INDID=1
union
select * from [IND] where INDID=5
union
select * from [IND] where INDID=3

本文来自网络,不代表我是攻城狮立场,转载请注明出处:https://www.54gcs.cn/sql/mysql/1738.html

helwo作者

上一篇
下一篇

为您推荐

发表评论

联系我们

联系我们

在线咨询: QQ交谈

邮箱: web@5vo.cn

工作时间:周一至周五,9:00-17:30,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

手机访问
手机扫一扫打开网站

手机扫一扫打开网站

跳至工具栏