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;

你可能感兴趣的:(sql中union all与 limit不能一同使用)