sql中union all与 limit不能一同使用

因为union all 是把两个结果集合并到一起,如果在每个结果集后面跟上limit的话   union all不知道到底取哪些结果了   可以在union 之后加上limit

如果您想使用LIMIT子句来对全部UNION结果进行分类或限制,则应对单个地SELECT语句加圆括号,并把ORDER BY或LIMIT放到最后一个的后面:

(SELECT a FROM tbl_name WHERE a=10 AND B=1)

UNION

(SELECT a FROM tbl_name WHERE a=11 AND B=2)

ORDER BY a LIMIT 10;

麻烦一点也可以这么干:

select userid from (

select userid from testa union all select userid from testb) t

order by userid limit 0,1;

    原文作者:Ten_Minutes
    原文地址: https://www.jianshu.com/p/679530fe099e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞