mysql 查询不同用户 最新的一条记录
时间: 2023-10-09 09:16:42 浏览: 166
MySQL 如何查询当前最新事务ID
可以使用子查询和GROUP BY语句来查询不同用户最新的一条记录。假设我们有一个名为`messages`的表,包含以下列:`id`、`user_id`、`message`和`created_at`。
查询每个用户最新的一条消息可以使用以下SQL语句:
```
SELECT m.*
FROM messages m
INNER JOIN (
SELECT user_id, MAX(created_at) AS max_date
FROM messages
GROUP BY user_id
) latest
ON m.user_id = latest.user_id AND m.created_at = latest.max_date
```
上面的SQL语句将在`messages`表中使用子查询,查询每个用户的最新消息的日期,然后将其与原始表连接,以获取完整的消息记录。
请注意,上面的SQL语句假定每个用户只有一条最新的消息。如果用户可以有多条具有相同最新日期的消息,则需要根据需要进一步调整查询。
阅读全文