Mysql:当使用union all时,使用order by并限制为单独的查询

时间:2018-05-08 10:40:38

标签: mysql sql sql-order-by limit union-all

我知道MySql语法不允许我们做我想要的事情,但我要求解决我的问题。

我想运行多个查询,并使用union通过使用order by和每个查询的限制来显示完整的数据集。由于法律问题,我使用了假参数和表名。

select 
    x,
    y,
    z
from tbl1
where z = 'xxxx'
and y = 111
and x = 'text'
order by rand()
limit 11966
union all
select 
    x,
    y,
    z
from tbl1
where z = 'xxxx'
and y = 222
and x = 'text'
order by rand()
limit 3560
union all
select
.
.
.
.
.

有谁知道解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用括号:

(select ... order by ... limit ...) 
union all
(select ... order by ... limit ...) 
union all
(select ... order by ... limit ...) 
union all
...