Mysql:使用union all时使用order by和limit到单独的查询
Posted
技术标签:
【中文标题】Mysql:使用union all时使用order by和limit到单独的查询【英文标题】:Mysql: Use order by and limit into separate queries when using union all 【发布时间】:2018-05-08 10:40:37 【问题描述】:我知道 mysql 语法不允许我们做我正在寻找的事情,但我要求解决我的问题。
我想运行多个查询并使用 union 来显示完整的数据集,方法是使用 order by 和 limit 每个查询。由于法律问题,我使用了虚假的参数和表名。
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】:使用括号:
(select ... order by ... limit ...)
union all
(select ... order by ... limit ...)
union all
(select ... order by ... limit ...)
union all
...
【讨论】:
以上是关于Mysql:使用union all时使用order by和limit到单独的查询的主要内容,如果未能解决你的问题,请参考以下文章
在android中使用UNION ALL时如何对特定语句使用order by
mysql数据库多个表union all查询并排序的结果为啥错误