gpt4 book ai didi

MySql:使用 GROUP BY 和 MAX 选择最后插入的值

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:05 24 4
gpt4 key购买 nike

<分区>

我有一个名为 message 的表,其中包含 5 列。主键是自动递增的 message_id。 enter image description here

我正在尝试使用 Group By 和 Max 选择并显示 related_message id 为 26 的最后插入的消息。
所以我想从表中选择所有内容,只有最后插入的消息是“stackoverflow”。

我尝试了各种方法,但都无济于事。

SELECT *
FROM message
WHERE person_send_id = :person_send_id OR person_receive_id = :person_receive_id
AND related_message IN (SELECT MAX(related_message) FROM message GROUP BY related_message DESC)
ORDER BY message_id DESC

方法二

SELECT message_id, message, person_send_id, person_receive_id, max(related_message) as `related_message`
FROM message
WHERE person_send_id = :person_send_id OR person_receive_id = :person_receive_id
GROUP BY related_message DESC
ORDER BY message_id DESC


在DarbyM的帮助下解决

SELECT m1.*
FROM message m1
JOIN (SELECT MAX(message_id) AS messageID
FROM message
Group By related_message) max
ON max.messageID = m1.message_id
WHERE person_send_id = :person_send_id OR person_receive_id = :person_receive_id

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