gpt4 book ai didi

MYSQL:返回与 GROUP BY 的最高数字关联的值

转载 作者:行者123 更新时间:2023-12-02 09:07:38 24 4
gpt4 key购买 nike

在我的表中,我有按时间戳排序的条目。我想返回具有最高时间戳的单个条目。

这有效:

SELECT max(`timestamp`) FROM `messages`

但是,它仅返回时间戳值。所以我也尝试选择 message 值:

SELECT max(`timestamp`), `message` FROM `messages`

我收到此错误:

In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column 'database.messages.message'; this is incompatible with sql_mode=only_full_group_by

所以我添加一个 GROUP BY:

SELECT max(`timestamp`), `message` FROM `messages`
GROUP BY `message`

然而,这最终只是返回表中的每个值。

我知道 GROUP BY 应该统一相同的条目,我只是完全不知道为什么我被迫在这种情况下使用它以及如何获取最新的条目而不是所有条目。

最佳答案

I want to return a single entry that has the highest timestamp.

不要聚合。您可以改为排序和限制:

select * from messages order by timestamp desc limit 1

关于MYSQL:返回与 GROUP BY 的最高数字关联的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59681044/

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