gpt4 book ai didi

mysql - 在 MySQL 中分组时如何获取具有最大日期的行?

转载 作者:可可西里 更新时间:2023-11-01 06:31:55 29 4
gpt4 key购买 nike

我有一张包含产品价格和日期的表格:

id
product
price
date

我在价格变化时创造了新记录。我有一张这样的 table :

id product price date
1 1 10 2014-01-01
2 1 20 2014-02-17
3 1 5 2014-03-28
4 2 25 2014-01-05
5 2 12 2014-02-08
6 2 30 2014-03-12

我想获取所有产品的最新价格。但是当我与“产品”分组时,我无法从具有最大日期的行中获取价格。

我可以在请求中使用 MAX()MIN()COUNT() 函数,但我需要一个基于其他函数的结果值(value)。

我希望在决赛中有这样的东西:

product price date
1 5 2014-03-28
2 30 2014-03-12

但是我不知道怎么办。可能是这样的:

SELECT product, {price with max date}, {max date}
FROM table
GROUP BY product

最佳答案

或者,您可以使用子查询来获取每个产品的最新数据,并将结果连接到表本身以获取其他列。

SELECT  a.*
FROM tableName a
INNER JOIN
(
SELECT product, MAX(date) mxdate
FROM tableName
GROUP BY product
) b ON a.product = b.product
AND a.date = b.mxdate

关于mysql - 在 MySQL 中分组时如何获取具有最大日期的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24241640/

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