将工会分组在一起

时间:2015-02-21 18:03:28

标签: mysql sql database

是否可以将UNION块组合在一起?我想为每个人获得一个限制。像

这样的东西
SelectQuery1 LIMIT 1
UNION
(SelectQuery2 UNION SelectQuery3) LIMIT 2

我想获得第一个查询中的第一行,然后我想在获得前两行之前先将Query2和Query3结合起来。

1 个答案:

答案 0 :(得分:3)

我是这么认为的。只需使用子查询:

(SelectQuery1
 LIMIT 1
)
UNION
(select *
 from (SelectQuery2 UNION
       SelectQuery3
      ) ss
 LIMIT 2
)

请注意,这是该怎么做的示意图。确切的语法可能取决于您的查询表达式。

此外:

  • 如果合适,请使用union allunion删除重复项,这会增加额外的处理。
  • 使用order by时,通常需要某种limit