MySQL最新的独特用户聊天不起作用

时间:2012-01-10 00:12:30

标签: mysql

我正在尝试为唯一的user_id获取最新创建的日期时间。我有以下查询但它似乎没有工作......它没有得到最新创建的时间。

SELECT * FROM `chats` 
WHERE receiver_id = 1
GROUP BY user_id
ORDER BY created DESC

有原因吗?

更新

其实我自己找到了答案。请看下面。我必须使用INNER JOIN来嵌套搜索和过滤结果表,然后找到使用该结果的where子句然后在该表上保持连接以获取我需要的数据!

SELECT c.*, users.username 
FROM chats c 
INNER JOIN( 
SELECT MAX(created) AS Date, user_id, receiver_id, chat, type, id 
FROM chats 
WHERE receiver_id = 1 
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 = 1

1 个答案:

答案 0 :(得分:0)

您应该使用MAX聚合函数 -

SELECT user_id, MAX(created) latest_datetime FROM chats
GROUP BY user_id;

尝试此查询,它将显示所有用户和最新创建的日期时间。