zoukankan      html  css  js  c++  java
  • union 或者 union all 与 order by 的联合使用

    首先清楚:多个select 语句 union 时不是简单的将查询结果拼接起来 而是将sql拼接起来编译(做为一个sql语句),然后去执行。

    注:

    union 连接的语句中只会出现一个order by (不包含子查询中的)否则会报  sql未正确结束的错误。

    解决方法:

    将order by 语句放到子查询中

    例子:

    1、将排序后的查询结果拼接起来
    select * from(select  *  from table order by a)

    union

    select * from (select * from table1 order by b)

    union

    select * from (select * from table2 order by c);

    2、将排序后的查询结果拼接起来,再排序

    select * from(select  *  from table order by a)

    union

    select * from (select * from table1 order by b)

    union

    select * from (select * from table2 order by c)

    order by d;----此处的order by 是将最后的拼接结果集排序  打乱了之前通过 a、b、c的排序。
    ---------------------
    作者:搬长城的红砖
    来源:CSDN
    原文:https://blog.csdn.net/yin_jia_521/article/details/65990413
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    图的邻接链表实现(c)
    图的邻接矩阵实现(c)
    好文
    第13章 红黑树
    函数 setjmp, longjmp, sigsetjmp, siglongjmp
    域名解析
    wget www.baidu.com执行流程分析
    信号处理篇
    第11章 散列表
    第10章,基本数据结构(栈,队列)
  • 原文地址:https://www.cnblogs.com/kakaisgood/p/11102704.html
Copyright © 2011-2022 走看看