gpt4 book ai didi

php - MYSQL 选择最近日期的所有记录

转载 作者:行者123 更新时间:2023-11-29 02:15:23 25 4
gpt4 key购买 nike

我有一个数据库,用于存储交易历史记录,主要是评论更新。因此,我接受具有相同 ID 的多条记录。

我需要做的是拉入所有记录并显示每条记录的最新记录。

这里是 2 条记录具有相同 UID 的示例。突出显示的记录是 2 条记录中的最新记录。

2 rows from database

这是我尝试的查询之一:

 SELECT 
uid
,voyage
,MAX(comments)
,MAX(edituser)
,MAX(editdate)
FROM
table
GROUP BY
uid
ORDER BY
uid

这是返回的相同 UID:

result from database

如果您注意到,它是最近的用户和编辑日期,但不是最近的评论,应该是“THIS IS A TEST COMMENT”。

我尝试了几次查询,但这是我最接近返回每条记录的最新记录。

我试过这个链接:SQL Select record with most recent date

但我认为在这种情况下我不需要使用任何 JOINS,因为所有内容都在同一个表中。

我怎样才能让它工作?

最佳答案

对于这样的事情,您最好使用子选择。

SELECT 
t1.uid,
t1.voyage,
(SELECT comments FROM table t2 WHERE t2.uid = t1.uid AND t2.editdate = MAX(t1.editdate) LIMIT 1) as comments,
(SELECT edituser FROM table t2 WHERE t2.uid = t1.uid AND t2.editdate = MAX(t1.editdate) LIMIT 1) as edituser,
(SELECT editdate FROM table t2 WHERE t2.uid = t1.uid AND t2.editdate = MAX(t1.editdate) LIMIT 1) as editdate,
FROM table t1
GROUP BY t1.uid
ORDER BY t1.uid

每个子选择将其缩小到相同的 uid,然后取最近的 editdate

关于php - MYSQL 选择最近日期的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40658367/

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