博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
先排序然后union all失效,mysql数据库多个表union all查询并排序的结果为什么错误...
阅读量:6568 次
发布时间:2019-06-24

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

 

mysql数据库多个表union all查询并排序的结果为什么错误?

 群主,我想进行一个表的查询,先把表中某个字段的内容查出,然后其他的再排序,我用union all连接两个表的查询结果排序是错的

比如我的sql语句:

select * from student t where t.name='aa' order by t.date desc

union all

select from student_1 s where s.name='bb' order by s.date desc

这两个查询出来的结果拼接到一起,按照原定的根据时间排序被打乱,现在想先将aa的查询出来,后面属于bb的按照时间进行排序。

 

错误原因:

原因是order by 的优先级比 union all要低,所以一旦同时出新order 和 union 

会先执行union , 再执行order 

 

解决方案:

select * from student  t   ORDER BY (CASE WHEN t.name='aa' THEN 0 ELSE 1 END), t.date desc

 

 

转载于:https://www.cnblogs.com/liran123/p/11003971.html

你可能感兴趣的文章
获取一张表的所有列
查看>>
团结介绍及项目介绍
查看>>
WebSocket
查看>>
Spark LogisticRegression 逻辑回归之建模
查看>>
wParam和lParam两个参数到底是什么意思?
查看>>
C++拷贝构造函数详解
查看>>
awt简单应用 panel面板
查看>>
Bootstrap 简洁、直观、强悍、移动设备优先的前端开发框架,让web开发更迅速、简单。...
查看>>
在XMPP的JAVA开源实现Openfire中,增加LBS 附近的人功能
查看>>
移动H5前端性能优化指南[转]
查看>>
[转载]C#模拟键盘鼠标事件-SendKeys
查看>>
【转载】MVC中 数据底层联合JQUERY实现动态的安全的验证机制
查看>>
【转载】nginx for windows: 让nginx以服务的方式运行
查看>>
浏览器缓存机制
查看>>
报表使用分组
查看>>
指尖下的js ——多触式web前端开发之二:处理简单手势
查看>>
获取json
查看>>
云计算VDI相关职位招聘
查看>>
ORACLE Recyclebin管理及flashback recyclebin中的对象
查看>>
linux 常用find命令
查看>>