mysql union (all) 后order by的排序失效问题解决
上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 od
FROM 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 od
FROM 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排序则解决了以上的问题。
mysql union (all) 后order by的排序失效问题解决的更多相关文章
- IE6、7 a链接内图片加滤镜后导致a标签链接失效问题解决
今天在项目中遇到一个ie6.7浏览器下a链接失效的问题,查询大量资料,最终找到完美的解决方案,如下: 解决方法: 为a标签加样式{*background:url(#);*zoom:1;} 为img外部 ...
- mysql union 与 union all 语法及用法
1.mysql union 语法 mysql union 用于把来自多个select 语句的结果组合到一个结果集合中.语法为: select column,......from tabl ...
- mysql如何用order by 自定义排序
mysql如何用order by 自定义排序 id name roleId aaa bbb ccc ddd eee ,MySQL可以通过field()函数自定义排序,格式:field(value,st ...
- Mysql Order By 字符串排序,mysql 字符串order by
Mysql Order By 字符串排序,mysql 字符串order by ============================== ©Copyright 蕃薯耀 2017年9月30日 http ...
- MySql union与order by
[MySql union与order by] 如果您想使用ORDER BY或LIMIT子句来对全部UNION结果进行分类或限制,则应对单个地SELECT语句加圆括号,并把ORDER BY或LIMIT放 ...
- mysql order by 中文 排序
mysql order by 中文 排序 1. 在MySQL中,我们经常会对一个字段进行排序查询,但进行中文排序和查找的时候,对汉字的排序和查找结果往往都是错误的. 这种情况在MySQL的很多版本中都 ...
- mysql 数据操作 单表查询 查询排序: order by
如果不指定排序 默认是按照id字段 从小到大排序的 升序 mysql> select * from employee; +----+------------+--------+-----+-- ...
- mysql select 无order by 默认排序 出现乱序的问题
原文:mysql select 无order by 默认排序 出现乱序的问题 版权声明:感谢您的阅读,转载请联系博主QQ3410146603. https://blog.csdn.net/newMan ...
- SQL 语句中union all和order by同时使用
最近做的一个财物管理系统中查询过期或逾期的存储过程,返回 “财物所属的案件名称”,“财物名称”,“财物编号”,“过期或逾期时间”(超期或逾期前7天开始预警). 遇到“union all ...
随机推荐
- shell自动交互之expect脚本_转
转自:linux expect详解(ssh自动登录) shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 ...
- UVa 11178:Morley’s Theorem(两射线交点)
Problem DMorley’s TheoremInput: Standard Input Output: Standard Output Morley’s theorem states that ...
- 国际化信息-->MVC
假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题.对 ...
- 移动ChemDraw结构有什么方法
ChemDraw软件是一款比较常见的化学绘图软件,化学专业的领域的人常常会用到它.本教程主要是针对新手用户,让其了解一些ChemDraw的一些基本操作,以便其能尽快上手早日用到工作中.下面我们就来给大 ...
- MySQL Error: PROCEDURE xmdk.query_all_plan can't return a result set in the given context
C++调用存储过程失败!出现如下错误:MySQL Error: PROCEDURE xmdk.query_all_plan can't return a result set in the given ...
- JSON.parse() 和 JSON.stringify() 的区别
JSON.parse()与JSON.stringify()的区别 JSON.parse()[从一个字符串中解析出json对象] //定义一个字符串 var data='{"name&qu ...
- Activity 5秒 Broadcast 10秒 Service 20秒
第一:什么会引发ANR? 在Android里,应用程序的响应性是由Activity Manager和WindowManager系统服务监视的 .当它监测到以下情况中的一个时,Android就会针对特定 ...
- 如何通过Keil将程序正确的下载进flash中
前面介绍了一些创建工程和调试的基本步骤,在这里准备介绍一下如何正确的将Keil程序在仿真调试中下载到flash.这里再次涉及到了debug的窗口. 工具/原料 Keil uVision 4/5 ...
- Android之ListView中的分割线
ListView中每个Item项之间都有分割线,设置android:footerDividersEnabled表示是否显示分割线,此属性默认为true. 1.不显示分割线只要在ListView控件中添 ...
- 《从零开始学Swift》学习笔记(Day 64)——Cocoa Touch设计模式及应用之目标与动作
原创文章,欢迎转载.转载请注明:关东升的博客 目标(Target)与动作(Action)是iOS和OS X应用开发的中事件处理机制. 问题提出 如图所示是一个ButtonLabelSample案例 ...