SQL 合并两个结果集 一个倒序,一个正序
2015-07-08 20:33
344 查看
要求状态正常的按end_time 升序排, 后面跟着 过期的 数据,按end_time 倒序排
select * from (SELECT * FROM table where status='正常' order by end_time asc) a union all
select * from (SELECT * FROM table where status='到期' order by end_time desc) b
必须外面包一层,直接两个结果集 union 发现正常的在上面,到期的在下面,但是各自内部是无序的,也就是说union的时候是没有order by做的union,
内部的order by没有生效, 包了一层应该是产生了临时中间表,次序便固定了。
还有个办法是用 case when 对 正常的 时间乘以-1 变为负值, 最后order by time asc便可以得到结果
select * from (SELECT * FROM table where status='正常' order by end_time asc) a union all
select * from (SELECT * FROM table where status='到期' order by end_time desc) b
必须外面包一层,直接两个结果集 union 发现正常的在上面,到期的在下面,但是各自内部是无序的,也就是说union的时候是没有order by做的union,
内部的order by没有生效, 包了一层应该是产生了临时中间表,次序便固定了。
还有个办法是用 case when 对 正常的 时间乘以-1 变为负值, 最后order by time asc便可以得到结果
相关文章推荐
- 数据类型和运算符(一)
- mysql相关时间函数
- 执行MySql更新报错:error code [1785]
- MySQL的binlog数据如何查看
- MySQL的binlog数据如何查看
- Mongodb的范式化和反范式化
- 实现基于Memcache存储的Session类
- [转]LAMP 系统性能调优,第 3 部分: MySQL 服务器调优
- mysql数据类型
- Mysql数据库的优化
- jdbc 连接mysql数据库
- Mysql 简介
- MySQL与PostgreSQL:该选择哪个开源数据库?哪一个更好?
- PostgreSQL新手入门
- 11g新特性-自动sql调优(Automatic SQL Tuning)
- Redis的安装与使用
- SQL Server 2008 R2——创建函数 筛选出字符串中的数字 筛选出字符串中的非数字
- Ubuntu 14.04 下自动安装mongodb shell 脚本
- 【原创】遇到的若干MySQL与Oracle的区别小记(逐渐增加)
- MVC——数据库增删改查(Razor)——Html语法