gpt4 book ai didi

sql - 如何查询 X 列中每个值的最新行?

转载 作者:行者123 更新时间:2023-11-29 09:13:54 25 4
gpt4 key购买 nike

我正在尝试查询 X 列中每个值的最新行。

我当前的尝试是:

SELECT max(mytimestamp), mytable.* FROM mytable GROUP BY X

但是,虽然结果中的第一列包含最新时间戳,但其他列并非来自最新行。

我该如何解决这个问题?

最佳答案

SELECT M.*
from
(
SELECT X, max(mytimestamp) MaxT
FROM mytable
GROUP BY X
) N
inner join mytable M on M.X = N.X and M.mytimestamp = N.MaxT

虽然 MySQL 允许您在 GROUP BY 查询中混合聚合列和非聚合列,但请不要这样做。考虑与您所遇到的情况类似的场景:

 SELECT max(mytimestamp) MaxT, min(mytimestamp) MinT, mytable.*
FROM mytable
GROUP BY X

想一想,让我知道列应该来自哪个记录(提示:最大值或最小值)。

关于sql - 如何查询 X 列中每个值的最新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4734310/

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