gpt4 book ai didi

mysql - 在mysql中分组之前对数据(排序依据)进行排序

转载 作者:行者123 更新时间:2023-11-29 01:17:10 25 4
gpt4 key购买 nike

我想对来自 sub_prd_id 的数据进行分组。但在此之前,我需要来自 ma​​x created_at 的订单数据。

我写了如下查询。

select * FROM prd_data group by sub_prd_id order by created_at desc

但是这个查询没有返回我需要的。例如,根据下面的数据,执行查询后,结果应该如下,

id  name    sub_prd_id  created_at
4 Grape 10 2013-04-28 03:11:55
6 Banana 11 2013-04-28 03:23:14
7 Pineapple 12 2013-04-28 03:23:44

这是带有数据的表结构。

id  name    sub_prd_id  created_at
2 Apple 10 2013-04-28 03:04:51
3 Orange 10 2013-04-28 03:08:19
4 Grape 10 2013-04-28 03:11:55
5 Mango 11 2013-04-28 03:22:48
6 Banana 11 2013-04-28 03:23:14
7 Pineapple 12 2013-04-28 03:23:44

最佳答案

您要完成的工作称为 groupwise maximum ,这无法使用 ORDER BY 实现。相反,必须找到 MAX(),然后将结果加入表中:

SELECT prd_data.* FROM prd_data NATURAL JOIN (
SELECT sub_prd_id, MAX(created_at) created_at
FROM prd_data
GROUP BY sub_prd_id
) t

查看 sqlfiddle .

关于mysql - 在mysql中分组之前对数据(排序依据)进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16261068/

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