我有两个表,我试图在第一个表中找到第二个表中的一列分组的最大值。
这是我的意思的示例:
表客户:
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查询来找到它?
答案 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)