我使用下表进行查询:
顾客
id | name | lastname
---------------------------------
1 | john | text
2 | rock | text
3 | jane | text
4 | jack | text
订单_
id_order | customer_id | ...
---------------------------------
1 | 1 | ...
2 | 2 | ...
3 | 3 | ...
4 | 1 | ...
5 | 2 | ...
我想实现一个查询来显示最大订单数的客户的名字和姓氏。如果两个或两个以上的客户有相同的最大订单数,我想显示。
到目前为止,我已经完成了以下子查询:
SELECT name, lastname FROM customer
WHERE customer.id IN
(SELECT * FROM (SELECT order_.customer_id FROM order_
INNER JOIN customer
WHERE order_.customer_id = customer.id
GROUP BY order_.customer_id
) temp
)
我想我必须使用最后一个子查询的max函数来得到结果,我只是不知道怎么做。有什么想法吗?
4条答案
按热度按时间4xrmg8kj1#
6xfqseft2#
gkn4icbw3#
你可以做:
tct7dpnv4#
这是更复杂的,因为你想要重复。假设
customer_id
定义客户而不是名称,您可以执行以下操作:请注意
having
子句不需要join
回到customer
--假设id
是对客户的恰当定义。