mysql - 将联合分组在一起

标签 mysql sql database

是否可以将 UNION block 组合在一起?我只想为每个获得一个 LIMIT。有点像

SelectQuery1 LIMIT 1
UNION
(SelectQuery2 UNION SelectQuery3) LIMIT 2

我想在第一个查询中获取第一行,然后在获取前两行之前先合并 Query2 和 Query3。

最佳答案

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

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

请注意,这是要执行的操作的示意图。确切的语法可能取决于您的查询表达式。

还有:

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

关于mysql - 将联合分组在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28649289/

相关文章:

mysql - 如何从docker连接到主机上的mysql?

php - 点赞按钮 (PHP/MySQL)

mysql - 使用 UNION ALL 从多个表返回单个结果字段值作为结果数据集中记录的一部分

javascript - 当我们在 NodeJS 中返回 Promise 时如何正确关闭数据库连接

php - 在 Facebook 应用程序中存储或不存储数据

php - Mantis Bug Tracker 发送邮件的日期格式

sql - 下一个值函数错误

SQL查询可预订房间

mysql - mySQL 查询 INNER JOIN 之间的区别

sql - 无法在 localdb v\11.0 中创建索引目录