sql语句order by和union联合使用
2014-08-01 13:08
483 查看
今天在产看查询结果的时候,发现一个问题,展现未按照既定的顺序排列,看sql日志未报错,详细看了下sql介绍才发现问题
如果是需要对于union后的结果进行order by 那么sql语句的写法应该是
(select * from A where name="" )
union
( select * from A where id="")
order by age
但是如果是想要对于单独的sql结果进行排序
sql语句写法如下
另外注意:圆括号中用于单个SQL语句的ORDER BY只有当与LIMIT结合后,才起作用。否则,ORDER BY被优化去除。
因为order by 和union联合使用时,只有最后的order by 起作用。
如果是需要对于union后的结果进行order by 那么sql语句的写法应该是
(select * from A where name="" )
union
( select * from A where id="")
order by age
但是如果是想要对于单独的sql结果进行排序
sql语句写法如下
(SELECT a FROM tbl_name WHERE a=10 AND B=1 ORDER BY a LIMIT 10) UNION (SELECT a FROM tbl_name WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
另外注意:圆括号中用于单个SQL语句的ORDER BY只有当与LIMIT结合后,才起作用。否则,ORDER BY被优化去除。
因为order by 和union联合使用时,只有最后的order by 起作用。
相关文章推荐
- SQL 语句中union all和order by同时使用
- SQL语句 UNION 和 UNION ALL 使用(一)
- 让UNION与ORDER BY并存于SQL语句当中
- MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 用$传参时,直接将参数的值放在sql语句中,如:
- SQL语句中,为什么where子句不能使用列别名,而order by却可以?
- SQL语句 UNION 和 UNION ALL 使用(二)
- T-sql语句,group by 加 order by的使用方法
- 让UNION与ORDER BY并存于SQL语句当中
- yii框架中findall方法取数据使用总结,包括select各种条件,where条件,order by条件,limit限制以及使用单纯sql语句query时占位符的使用等
- SQL中distinct与order by联合使用应该注意的问题
- 让UNION与ORDER BY并存于SQL语句当中
- 如何联合使用Union和Order by
- SQL语句 UNION 和 UNION ALL 使用(二)
- SQL语句中,为什么where子句不能使用列别名,而order by却可以?
- 在ASP中使用SQL语句之7:ORDER BY
- SQL语句 UNION 和 UNION ALL 使用(二)
- 让UNION与ORDER BY并存于SQL语句当中
- SQL语句 UNION 和 UNION ALL 使用
- SQL语句 - 使用order by优先级排序
- sql语句中where、group by、having、order by 是否可以使用别名