zoukankan      html  css  js  c++  java
  • mysql 5.7.15 union order by 子查询排序不生效

    其实这么写理论上是对的,很多博客教程都是这样子写的。。
    select * from (SELECT * FROM article WHERE is_top=0 ORDER BY id DESC) as t1
    union
    select * from (SELECT * FROM article WHERE is_top=1 ORDER BY start_time desc) as t2
     
    然后还是发现子查询的排序无效,尴尬,后来才发现如果order by 不带limit,会被优化器干掉,导致语句就是:
    select * from (SELECT * FROM article WHERE is_top=0 ) as t1
    union
    select * from (SELECT * FROM article WHERE is_top=1) as t2
     
    解决方案:
    select * from (SELECT * FROM article WHERE is_top=0 ORDER BY id DESC limit 999999) as t1
    union

    select * from (SELECT * FROM article WHERE is_top=1 ORDER BY start_time desc limit 999999) as t2

     

     

    http://blog.csdn.net/emaste_r/article/details/73550783

  • 相关阅读:
    Hadoop(1.2.1)安装
    ETL,BPM与ESB三者的一些感悟
    编程上面的理论支撑
    TreeSet类的排序
    List接口
    Map接口
    类和对象
    面向对象1
    IO流4
    Java面向对象
  • 原文地址:https://www.cnblogs.com/silyvin/p/9106735.html
Copyright © 2011-2022 走看看