【发布时间】:2017-01-10 02:05:30
【问题描述】:
我有这个问题
select c.id, c.name, c.email, c.totalpets, min(p.date_created) as first_order,
min(p.weight) as min_weight_bought,
max(p.weight) as max_weight_bought,
count(p.ordernumber) as total_orders
from orders p
inner join customers c
on p.customer_id = c.id
where p.approved = 1
and c.totalpets >= 1
group by c.id
having total_orders > 1
请注意,first_order 给了我该行的第一个结果,对吗?我正在尝试获得客户第一订单和客户第二订单。我怎样才能在这个内部连接中做到这一点?
谢谢
【问题讨论】:
-
您应该只选择出现在
GROUP BY子句中的聚合和列,因此查询应该是SELECT c.id, MIN(p.date_created) FROM orders ... GROUP BY c.id。 -
我不知道我是否明白。您的意思是带有这些参数的子查询?
-
不,我没有给出答案,我只是在纠正您原始查询的问题。
标签: mysql subquery max inner-join min