gpt4 book ai didi

mysql - 在 MySQL 中,我如何通过不同的列和公用键按日期获取最新记录?

转载 作者:行者123 更新时间:2023-11-29 06:58:44 24 4
gpt4 key购买 nike

我有一个类似这样的数据集:

id   product_id   size       color     price   created_date
------------------------------------------------------------------
1 24 small black 9.99 2012-06-21 00:00:00
2 24 small red 9.99 2012-06-23 00:00:00
3 24 medium black 11.99 2012-06-24 00:00:00
4 24 medium red 11.99 2012-06-24 00:00:00
5 24 large black 12.99 2012-06-25 00:00:00
6 24 large red 12.99 2012-06-26 00:00:00
7 24 small black 8.99 2012-06-27 00:00:00
8 24 medium black 10.99 2012-06-29 00:00:00
9 24 large red 13.99 2012-06-30 00:00:00
10 24 medium red 10.99 2012-07-01 00:00:00

我预期的结果集是:

id   product_id   size       color     price   created_date
------------------------------------------------------------------
2 24 small red 9.99 2012-06-23 00:00:00
5 24 large black 12.99 2012-06-25 00:00:00
7 24 small black 8.99 2012-06-27 00:00:00
8 24 medium black 10.99 2012-06-29 00:00:00
9 24 large red 13.99 2012-06-30 00:00:00
10 24 medium red 10.99 2012-07-01 00:00:00

换句话说,从 product_id = 24 和 size/color 唯一的表中选择所有并且只返回 created_date 的最新条目。

我不确定解决此问题的最佳方法是什么。通过临时表子选择?内部联接?某种独特/独特的组合?我可能让这比它必须的更困难。

最佳答案

您需要获得 groupwise maximum :

SELECT   mytable.*
FROM mytable NATURAL JOIN (
SELECT size, color, MAX(created_date) AS created_date
FROM mytable
GROUP BY size, color
) AS t

查看 sqlfiddle .

关于mysql - 在 MySQL 中,我如何通过不同的列和公用键按日期获取最新记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11269444/

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