gpt4 book ai didi

php - 复杂的 SQL(可能是外连接)

转载 作者:行者123 更新时间:2023-11-29 09:02:24 24 4
gpt4 key购买 nike

我有 2 个表,定义如下。

评论表
id
user_id
评论
标题
日期时间

PeopleFollows 表
id
user_id
follow_user_id
日期时间

我想运行 1 个查询来获取按日期时间排列的前 10 个结果。例如,如果我有以下数据:

审查表

1 user1  "This is my review" "title" 2011-01-10  
2 user1 "Another review" "title again" 2011-01-08

人员关注表

1 user2 user1 2011-01-09 

我想要得到这样的结果:

Review id=2  
People follows id=1
Review id = 1

我认为我可以做到这一点的唯一方法是对 X 限制进行单独的查询,然后将它们组合起来以获得 X 结果。

我可能需要多解释一下。

最佳答案

如果您按日期时间对两个表建立索引,并且在 UNION 之前按日期时间对每个查询进行排序,则不需要完全扫描。

(SELECT "Review", id, datetime FROM Reviews ORDER BY datetime DESC LIMIT 10)
UNION
(SELECT "People", id, datetime FROM PeopleFollows ORDER BY datetime DESC LIMIT 10)
ORDER BY datetime DESC
LIMIT 10

关于php - 复杂的 SQL(可能是外连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8207336/

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