首页 > 解决方案 > 将为我提供每个 senderId 的最新 messageContent 帖子的 SQL 查询是什么?

问题描述

我有下面称为消息的我想要一个 SQL 查询,它会给我messageContent每个最新的帖子senderId

消息ID 发件人ID 接收者 ID 上市 消息时间 消息内容
14 敬畏123 敬畏123 2020-12-14 20:40:06 震惊和敬畏,宝贝!
15 ewm20 ewm20 2020-12-15 16:29:29 祝大家圣诞快乐,晚安。
16 ewm20 ewm20 2020-12-16 21:27:09 摇滚吧,兄弟!
17 ewm20 ewm20 2020-12-16 23:27:19 钢人队将卷土重来!
18 猎鹰9 猎鹰9 2020-12-17 02:06:50 什么!星舰炸了???什么时候!
19 ewm20 ewm20 2020-12-17 02:22:35 星舰于 12 月 9 日在着陆时爆炸。
20 ewm20 ewm20 2020-12-17 02:23:05 它的速度太高了。
21 ewm20 ewm20 2020-12-17 03:41:25 然而,马斯克仍然对到达火星持乐观态度。

结果将是这样的:

发件人ID 消息时间 消息内容
敬畏123 2020-12-14 20:40 震惊和敬畏,宝贝!
ewm20 2020-12-17 03:41 然而,马斯克仍然对到达火星持乐观态度。
猎鹰9 2020-12-17 02:06 什么!星舰

标签: mysqlsqlgroup-by

解决方案


row_number您可以按如下方式使用 windows 功能:

select * from
(select t.*, 
        row_number() over (partition by senderId order by messageTime  desc) as rn
   from your_table t) t
 where rn = 1

推荐阅读