mysql - 从 GROUP BY 中与 MAX 相同的行中提取

标签 mysql sql

我想获取向我发送消息的用户列表,以及该消息的时间戳和主题。

从消息 GROUP BY user_id 中选择 user_id,subject,MAX(timestamp)

如何使 subject 从具有 MAX(timestamp) 的同一行中提取?没有子查询可以吗?

最佳答案

一种方法在 where 子句中使用直接比较,此处使用相关子查询:

select m.*
from messages m
where m.timestamp = (select max(m2.timestamp)
                     from messages m2
                     where m2.user_id = m.user_id
                    );

关于mysql - 从 GROUP BY 中与 MAX 相同的行中提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40275384/

相关文章:

sql - 如何在Oracle中的字符串列中使用带有数字的条件

java - 这个 SQL 语法有什么问题?

mysql - 获取今天添加的结果,不早于

php - 使用php连接和插入Mysql数据库

php - Mysql 在搜索期间排除百分号 - 可重用脚本

c# - Sqlite 与 C# 和 where 子句

java - 是否可以有一个 JDBC 池将只读查询路由到从属 sql 服务器?

mysql - 操作 'find_in_set' 的排序规则 (latin1_swedish_ci,COERCIBLE) 和 (utf8_general_ci,IMPLICIT) 的非法混合

MySQL 查询 : Using UNION and getting row number as part of SELECT

mysql - 在空 JOIN 值上切换 sql 列