博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql union (all) 后order by的排序失效问题解决
阅读量:6239 次
发布时间:2019-06-22

本文共 1466 字,大约阅读时间需要 4 分钟。

上sql

select * FROM ( SELECT SUM(c.overtime_num) AS delay_num, ROUND((SUM(c.total_num) - SUM(c.overtime_num))*100/SUM(c.total_num),2) rate , '全网' as reaCodeFROM calc_vmap_repair_timely_rate_mon_stat c WHERE c.`type` = 22 and c.MONTH BETWEEN '2019-01' AND '2019-01') t1 UNION ALL SELECT t2.* FROM ( select tmp.* FROM ( SELECT SUM(c.overtime_num) AS delay_num, ROUND((SUM(c.total_num) - SUM(c.overtime_num))*100/SUM(c.total_num),2) rate , c.motorcade_area_code as reaCodeFROM calc_vmap_repair_timely_rate_mon_stat c WHERE c.`type` = 22 and c.MONTH BETWEEN '2019-01' AND '2019-01' group by c.motorcade_area_code ) tmp order by tmp.rate asc )  t2

单独执行union all下面的结果如下:

单独执行union all上面的结果如下:

 

 

为了保证排序不乱,按照网上解决方案:

可是结果竟然还是:

 没能解决问题。 加上limit问题也是可以解决的。

真正解决方案:

SELECT * FROM(SELECT SUM(c.overtime_num) AS delay_num, ROUND((SUM(c.total_num) - SUM(c.overtime_num))*100/SUM(c.total_num),2) rate , '全网' AS reaCode,0 AS odFROM calc_vmap_repair_timely_rate_mon_stat c WHERE c.`type` = 22 and c.MONTH BETWEEN '2019-01' AND '2019-01'UNION ALL SELECT SUM(c.overtime_num) AS delay_num, ROUND((SUM(c.total_num) - SUM(c.overtime_num))*100/SUM(c.total_num),2) rate , c.motorcade_area_code AS reaCode,1 AS odFROM calc_vmap_repair_timely_rate_mon_stat c WHERE c.`type` = 22 and c.MONTH BETWEEN '2019-01' AND '2019-01' group by c.motorcade_area_code ) con ORDER BY od, rate;

先查询后排序

union 前的排序与union 后的顺序,采用加一个字段od来保证,然后再按rate排序则解决了以上的问题。

 

转载于:https://www.cnblogs.com/jay763190097/p/10248728.html

你可能感兴趣的文章
[Android]让RemoteControlClient显示Music Album
查看>>
01-UI基础-03UIImageView
查看>>
JSP页面ajax提交登录数据demo
查看>>
软件自动化测试框架STAF
查看>>
Hadoop 多表连接
查看>>
使用maven下载jar包,使用ant打包。yqxt项目的安装。
查看>>
Ubuntu 一键安装openresty
查看>>
dlmalloc
查看>>
学习与准备的一些资源
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
Eclipse SVN的更新地址是
查看>>
Intel XDK 跨平台 App 开发初体验
查看>>
Windows 下msvc2010编译 NSIS 2.46
查看>>
第三方授权登录(微博篇)
查看>>
苹果App Store审核指南中文翻译(2014.9.1更新)
查看>>
如何复制一个LIST
查看>>
说说我为什么看好Spring Cloud Alibaba
查看>>
RecyclerView 差异更新(diff)
查看>>
Android之ActionBar学习
查看>>
对于法线贴图的深入研究
查看>>