文章目錄
- 一、題目
- 二、思路
- 三、代碼
- Reference
一、題目
已知order表:
二、思路
如果最多訂單數隻有一個客戶,那就可以直接粗暴的分組後計算每組個數,然後排序求第一個。
SELECT customer_number
FROM orders
GROUP BY customer_number
ORDER BY COUNT(*) DESC
LIMIT 1;
但如果是有并列客戶同時最多訂單數,則先找出最大訂單數的數值,然後用
Having
子查詢求衆數。
三、代碼
# Write your MySQL query statement below
SELECT customer_number
FROM orders
GROUP BY customer_number
HAVING COUNT(*) >= (
SELECT COUNT(*) AS cnt
FROM orders
GROUP BY customer_number
ORDER BY cnt DESC
LIMIT 1
);
Reference
[1] SQL執行個體:求衆數