mySql 中能否可以实现oracle中的PARTITION BY分区优先取值功能

MySql 码拜 9年前 (2016-05-06) 1698次浏览
mySql 中能否可以实现oracle中的PARTITION BY分区优先取值功能
现在有个问题,一个优先取值的问题,在图中有标注,假如出现两条记录,优先取第一列中标红不为空的值,实现像oracle中的 PARTITION BY一样 (ORDER BY DC.CONTRACT_START_DATE DESC NULLS LAST )以某个字段排序,然后取这个值的最大一条记录,不知道在Mysql中能否能实现
解决方案

20

参考下贴中的多种方法
http://blog.csdn.net/acmain_chm/article/details/4126306
[征集]分组取最大N条记录方法征集,及散分….

60

null 值升序(ASC)在最前,降序(DESC)在最后,这个是默认规则,所以降序本来就符合你的要求,不需要特别处理的
select * from( select 1 union all select null union all select 3) x order by 1 desc;

20

引用:

#6是对的,就是利用order by 进行倒序排序,将空值置底,然后limit 1取最上一条,假如业务复杂可以把表结构和逻辑贴出来

5#。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mySql 中能否可以实现oracle中的PARTITION BY分区优先取值功能
喜欢 (0)
[1034331897@qq.com]
分享 (0)