gpt4 book ai didi

mysql - 组合多个高级 mysql 选择查询的最佳方法

转载 作者:可可西里 更新时间:2023-11-01 08:37:43 25 4
gpt4 key购买 nike

我在同一数据库的不同表中有多个选择语句。我使用了多个单独的查询,然后加载到我的数组并排序(同样,在查询中排序之后)。

我想合并到一个语句中以加快结果并使其更容易“加载更多”(见底部)。

每个查询都使用 SELECT、LEFT JOIN、WHERE 和 ORDER BY 命令,这些命令对于每个表都不相同。

我可能不需要在每个语句中排序,但我希望最终结果最终按表示时间的字段排序(不一定是所有表中的相同字段名称)。

我希望将总查询结果限制为一个数字,在我的例子中是 100。

然后我使用一个循环遍历结果,并针对每一行测试是否设置了 OBJECTNAME_ID(即;comment_id、event_id、upload_id),然后是 LOAD_WHATEVER_OBJECT,它获取该行并将数据推送到数组中。

之后我不需要对数组进行排序,因为它是通过 mysql 按顺序加载的。

稍后在应用程序中,我将通过跳过前 100、200 或任何页面*100 来“加载更多”,并使用相同的查询再次限制为 100。

数据库的最终结果会像“这样”:

RESULT - 从表中选择的字段 - 要排序的字段是最大的结果 - 从可能不同的表中选择的字段 - 要排序的字段是下一个最大的结果 - 从可能不同的表中选择的字段表 - 要排序的字段是第三大等等等等

我看到了很多更简单的组合语句,但没有像这样的。

如有任何帮助,我们将不胜感激。

最佳答案

最简单的方法可能是在这里使用 UNION ( http://dev.mysql.com/doc/refman/5.0/en/union.html ):

(SELECT a,b,c FROM t1)
UNION
(SELECT d AS a, e AS b, f AS c FROM t2)
ORDER BY a DESC

关于mysql - 组合多个高级 mysql 选择查询的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6223655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com