gpt4 book ai didi

MySQL 从按日期列排序的每个第一个唯一行中获取?

转载 作者:行者123 更新时间:2023-12-01 00:02:35 25 4
gpt4 key购买 nike

我有一个如下表,我无法获得我想要的结果。

我想要的是只获取每个唯一 user_id 的最近消息。我以前问过类似的问题,但我觉得自己像个白痴,因为我还是不明白。我应该如何同时使用 MySQL order bygroup by?使用 distinct 也不起作用。

+---------+---------------------+------------------+
| user_id | created_at | message |
+---------+---------------------+------------------+
| 2 | 2011-02-06 19:53:59 | sd |
| 2 | 2011-02-06 20:11:41 | working on st.. |
| 3 | 2011-02-06 20:40:14 | testing applica..|
| 3 | 2011-02-06 21:35:11 | testing appli.. |
| 3 | 2011-02-06 23:09:34 | testing af.. |
+---------+---------------------+------------------+

这是它应该返回的方式

+---------+---------------------+------------------+
| user_id | created_at | message |
+---------+---------------------+------------------+
| 2 | 2011-02-06 20:11:41 | working on st.. |
| 3 | 2011-02-06 23:09:34 | testing af.. |
+---------+---------------------+------------------+

这确实以正确的格式返回,但它获取了一些随机消息。

select user_id,created_at, message from status group by user_id order by created_at desc

谢谢。

最佳答案

SELECT
user_id,
created_at,
message
FROM
status
JOIN
(SELECT user_id,MAX(created_at) AS max
FROM status
GROUP BY user_id) max_created_at ON
(max_created_at.user_id = user_id AND max_created_at.max = created_at)

关于MySQL 从按日期列排序的每个第一个唯一行中获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4915469/

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