MySQL:使用另一个表中的值从组中选择最大值?

时间:2019-03-24 03:51:35

标签: mysql sql

我有两个表,我试图在第一个表中找到第二个表中的一列分组的最大值。

这是我的意思的示例:

表客户:

customer_id | age
12367       | 23
87693       | 48
66933       | 44
82143       | 38
75454       | 19
38912       | 58
63554       | 80

餐桌购买:

product_id | customer_id
132        | 12367
132        | 66933
132        | 38912
844        | 12367
844        | 63554
598        | 75454
598        | 87693
598        | 66933

我想找到每种产品的最早购买者的customer_id,例如:

product_id | customer_id | age
132        | 38912       | 58
844        | 63554       | 80
598        | 87693       | 48

如何创建一个mysql查询来找到它?

1 个答案:

答案 0 :(得分:1)

使用相关子查询

select product_id , a.customer_id , age
from purchases a inner join customers b on a.customer_id =b.customer_id
where age in (select max(age) from purchases a1 inner join customers b1 on a1.customer_id =b1.customer_id where a.product_id=a1.product_id group by a1.product_id)