题目:
编写一个SQL查询,为下了 最多订单 的客户查找 customer_number 。
测试用例生成后, 恰好有一个客户 比任何其他客户下了更多的订单。
示例:
解释:ustomer_number 为 '3' 的顾客有两个订单,比顾客 '1' 或者 '2' 都要多,因为他们只有一个订单。 所以结果是该顾客的 customer_number ,也就是 3 。
题解:
提示:采用派生表
select customer_number
from (
select customer_number,count(customer_number) ct
from Orders
group by customer_number
order by ct DESC
limit 0,1
) t
思路:输出只有用用户编号,采用派生表,从派生表中排序选取数量最多的那个用户
精简版本:
select customer_number
from Orders
group by customer_number
order by count(order_number) desc
limit 1
代码一看就会自己一写就摸不着头脑