gpt4 book ai didi

php - 如何根据两个表中的字段对结果集进行排序

转载 作者:行者123 更新时间:2023-11-29 03:36:26 25 4
gpt4 key购买 nike

我有两个表,一个用于 topic_likes,一个用于 user_comments。我必须从这个表中获取喜欢和评论的最新更新。下面给出的是 sql :-

SELECT (required fields...)
LEFT JOIN topic_likes AS TL ON (TL.delete_status=0 AND TL.user_id!=$user_id)
LEFT JOIN user_comments AS UC ON (UC.delete_status=0 AND UC.user_id!=$user_id)
WHERE
(TL.created_date >= '$lastLogin' OR UC.created_date >= '$lastLogin'
ORDER BY UC.created_date desc,TL.created_date desc
LIMIT $limit

我已经通过两个表中的两个字段给出了顺序(UC.created_date,TL.created_date)但它不会根据 topic_likes 的 created_date 对结果集进行排序。它仅根据 user_comments 表对结果进行排序

但如果我删除限制条件,它会给出正确的结果...!!

感谢任何建议

最佳答案

您采用的方法很奇怪。如果您想使用单个查询显示用户的喜欢和评论,您应该 UNION 结果。示例:

SELECT * FROM
(
SELECT id, `date`, 'like' as `type` FROM topic_likes
UNION
SELECT id, `date`, 'comment' as `type` FROM user_comments
) a order by a.date DESC limit 5;

结果应该是这样的:

Result

但也有局限性。每个子查询的列数必须匹配。

关于php - 如何根据两个表中的字段对结果集进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21012702/

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