leetcode586. 订单最多的客户(SQL)
在表 orders 中找到订单数最多客户对应的 customer_number 。
数据保证订单数最多的顾客恰好只有一位。
表 orders 定义如下:
| Column | Type |
|-------------------|-----------|
| order_number (PK) | int |
| customer_number | int |
| order_date | date |
| required_date | date |
| shipped_date | date |
| status | char(15) |
| comment | char(200) |
样例输入
| order_number | customer_number | order_date | required_date | shipped_date | status | comment |
|--------------|-----------------|------------|---------------|--------------|--------|---------|
| 1 | 1 | 2017-04-09 | 2017-04-13 | 2017-04-12 | Closed | |
| 2 | 2 | 2017-04-15 | 2017-04-20 | 2017-04-18 | Closed | |
| 3 | 3 | 2017-04-16 | 2017-04-25 | 2017-04-20 | Closed | |
| 4 | 3 | 2017-04-18 | 2017-04-28 | 2017-04-25 | Closed | |
样例输出
| customer_number |
|-----------------|
| 3 |
解释
customer_number 为 '3' 的顾客有两个订单,比顾客 '1' 或者 '2' 都要多,因为他们只有一个订单
所以结果是该顾客的 customer_number ,也就是 3 。
进阶: 如果有多位顾客订单数并列最多,你能找到他们所有的 customer_number 吗?
思路:按人分组,按数量排序,取第一个。
select customer_number
from orders
group by customer_number
order by count(*) desc limit 1;
相关文章
- 解决开启SQL Server sql Always on Group 事务日志增大的问题
- ClickHouse SQL调优及执行计划分析
- 深入浅出SQL Server中的死锁
- 第三十一章 SQL函数 CONVERT
- 第十二章 SQL聚合函数 VARIANCE, VAR_SAMP, VAR_POP
- SQL 查询总是先执行SELECT语句吗
- 《Java EE核心框架实战》—— 2.4 < sql >标签
- 《SQL初学者指南(第2版)》——2.1 一条简单的SELECT语句
- SQL Server执行计划的理解
- SQL查询性能分析之(not in)、(and not)、()、(!=)性能比较
- Trafodion:Transactional SQL on HBase
- sql server无法kill掉会话,会话一直处于killed/rollback
- (3.5)sql server存储引擎--事务日志与数据文件
- SQL笔试 I 经典44题及答案解析
- sql中将字符串转换为decimal