gpt4 book ai didi

php - 使用组检索最新记录

转载 作者:行者123 更新时间:2023-11-30 23:29:38 26 4
gpt4 key购买 nike

table(ms_replies)  
|------------------------------------------|
| id | ticketID | replyStamp |
|------------------------------------------|
| 1 | 7 | Tue 11 Oct 2011, 8:56am |
| 2 | 7 | Wed 12 Oct 2011, 9:20am |
| 3 | 8 | Wed 12 Oct 2011, 16:24pm |
| 4 | 7 | Thu 27 Oct 2011, 20:28pm |
| 5 | 8 | Tue 18 Oct 2011, 9:54am |
|------------------------------------------|

到目前为止我的代码是:

SELECT 
ticketID,
MAX(replace(replace(replyStamp, 'pm',''), 'am','')) AS time
FROM
ms_replies
WHERE
`ticketID` IN ($IDs)
GROUP BY
ticketID

但这不会返回最近的条目。

请注意查询中的 replace 是删除 am | 所必需的pm ,这不是我做的,但不幸的是我不能改变它。

最佳答案

如果要将字符串作为日期进行比较,则必须将字符串转换为日期:

SELECT ticketID,
MAX(STR_TO_DATE(
REPLACE(REPLACE(replyStamp, 'am', ''), 'pm', ''),
'%a %d %b %Y, %T')) AS max_time
FROM ms_replies
WHERE ticketID IN (7, 8)
GROUP BY ticketID;

但如果最新条目始终具有最大 ID(如您的示例),则实际上不需要;那么您可以只检查 MAX(id) ,就像在@ZaneBien 的回答中一样 - 或者在这里:

SELECT m.ticketID, m.replyStamp
FROM ms_replies AS m
WHERE m.id = (
SELECT MAX(id) FROM ms_replies
WHERE ticketID = m.ticketID
);

关于php - 使用组检索最新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11392450/

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