gpt4 book ai didi

PHP/MySQL : facebook style newsfeed architecture

转载 作者:行者123 更新时间:2023-11-30 00:57:00 25 4
gpt4 key购买 nike

想要创建一个 Facebook 类型的新闻源,基本上按时间戳列出不同的事件。这些事件驻留在不同的表中。我有一些代码可以让我按时间戳从不同的表中排序结果集。我的问题是我不知道将不同表的查询结果合并到一个结果集中的正确方法。我有一种感觉,UNION 可能是实现这一点的方法,但是,UNION 似乎要求结果集具有相似的列数、数据类型等,这似乎有点难以执行。

一些帖子建议正确的方法是创建一个单独的新闻源表,但这听起来很麻烦。

这就是我到目前为止所拥有的。新闻源绘制不同的事件,例如评论、发布的照片​​等。表评论

id|comment|timestamp

照片

id|name|timestamp

$sql = "SELECT p.name,p.timestamp from `photos` p
JOIN
SELECT c.commentc.timestamp from `comments` c
ORDER GREATEST(IFNULL(p.timestamp,0), IFNULL(c.timestamp,0))"

最佳答案

您可以使用UNION,并在不匹配列的位置使用null

SELECT id, comment, null as name, timestamp FROM comments
UNION
SELECT id, null as comment, name, timestamp FROM photos;

SQLFiddle 示例 - http://sqlfiddle.com/#!2/f9f40f/1

关于PHP/MySQL : facebook style newsfeed architecture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20462496/

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