---
tags: sql, LeetCode
disqus: HackMD
---
# 586. Customer Placing the Largest Number of Orders
(資訊來自於`leetcode 586`[ Customer Placing the Largest Number of Orders](https://leetcode.com/problems/customer-placing-the-largest-number-of-orders/))
### 下單數量最多的客戶

編寫一個 SQL 查詢來查找下單數量最多的客戶的 customer_number。
生成測試用例,以便恰好一個客戶下的訂單比任何其他客戶都多。
### 題目:
編號為 3 的客戶有兩個訂單,大於客戶 1 或 2,因為他們每個人只有一個訂單。
所以結果是 customer_number 3。

### 解題方式:
```sql=
select top 1 customer_number
from orders
group by customer_number
order by count(order_number)desc
```
### 解題解析:
用TOP 1來取代MAX()方法,再用COUNT() 函式與 GROUP BY 一起使用,而COUNT() 函式與 GROUP BY可以用下列案例來做舉例。
案例 1:演出過大多數 PG 電影的演員
COUNT() 函式本身可以告訴我們有多少演員在 PG 電影中演出。但是,如果我們想知道每個演員都演出了多少部 PG 電影,我們需要在 GROUP BY 子句中加入 actor_id。回想一下,GROUP BY 子句將記錄分組到摘要列中,並為每個組傳回一筆記錄。GROUP BY 査詢通常包括彙總函式,如 COUNT、MAX、SUM、AVG 等。(資訊來自於[ 將 SQL COUNT() 函式與 GROUP BY 一起使用](https://www.navicat.com/cht/company/aboutus/blog/1745-using-the-sql-count-function-with-group-by.html))