gpt4 book ai didi

mysql - 复杂的 MySQL 搜索查询

转载 作者:行者123 更新时间:2023-11-29 14:35:55 25 4
gpt4 key购买 nike

我在要加入的 userschats 表上运行以下查询,并且尝试在我的 group by user_id OR receive_id 的 chats 表不仅仅是 user_id,就像您在下面 INNER JOIN 内的 SQL 查询中看到的那样。

SELECT c.*, users.username, users.firstname, users.lastname 
FROM chats c
INNER JOIN( SELECT MAX(created) AS Date, user_id, receiver_id, chat, type, id
FROM chats
WHERE receiver_id = 286 OR user_id = 286
GROUP BY user_id ) cc ON cc.Date = c.created AND cc.user_id = c.user_id
LEFT JOIN users ON users.id = c.user_id
WHERE c.receiver_id = 286 OR c.user_id = 286

我尝试了GROUP BY user_id ORreceiver_id,但我似乎无法获取receiver_id或user_id的id 286的信息。

有没有一种方法可以实现它并进行分组,以便我们可以查看两列并得出两列的结果?

我需要执行两个查询并将它们连接在一起吗?

最佳答案

如果您正在查找最近的聊天记录,为什么不直接按创建对结果进行排序并获取第一行,如下所示:

SELECT c.*, users.username, users.firstname, users.lastname 
FROM chats c, users u
WHERE (c.receiver_id = 286 OR c.user_id = 286) AND
u.id = c.user_id
ORDER BY created DESC
LIMIT 1

关于mysql - 复杂的 MySQL 搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9054954/

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