gpt4 book ai didi

MySQL - 在另一个子查询中使用子查询结果

转载 作者:行者123 更新时间:2023-11-30 21:41:03 25 4
gpt4 key购买 nike

我正在使用下表进行查询:

客户

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 函数才能得到结果,我只是不知道该怎么做。有什么想法吗?

最佳答案

你可以这样做:

SELECT c.name, c.lastname, count(o.id_order) 
FROM order_ o INNER JOIN
customer c
on o.customer_id = c.id
GROUP BY c.name, c.lastname
ORDER BY count(o.id_order) DESC
LIMIT 1;

关于MySQL - 在另一个子查询中使用子查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51553631/

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