(大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量

今天,面试了一家公司,什么也不说先来三道面试题做做,第一题。

那么,我们就开始做题吧,谁叫我们是打工人呢。

题目是这样的:

统计除豪车外,销售最差的车

车辆按批销售,每次销售若干辆同型号的车,表中就记录增加一条记录。

问:查询总销售量大于100,且总销售量最少的3个型号的车及其总销售量。

|-----------|---------|
| MODEL | CNT |
| A | 20 |
| B | 50 |
| B | 100 |
| C | 900 |
| C | 500 |
| D | 400 |
| E | 200 |
| F | 40 |
| G | 30 |


sql 复制代码
				
DROP TABLE IF EXISTS #T_CAR;				
CREATE TABLE #T_CAR (				
  ID INT IDENTITY(1,1),				
  CAR_TYPE VARCHAR(4),				
  CAR_CNT INT,				
  NOTE VARCHAR(255)				
);				
				
INSERT INTO #T_CAR(CAR_TYPE, CAR_CNT, NOTE) VALUES ('A', 20 , NULL);				
INSERT INTO #T_CAR(CAR_TYPE, CAR_CNT, NOTE) VALUES ('B', 50 , NULL);				
INSERT INTO #T_CAR(CAR_TYPE, CAR_CNT, NOTE) VALUES ('B', 100, NULL);				
INSERT INTO #T_CAR(CAR_TYPE, CAR_CNT, NOTE) VALUES ('C', 900, NULL);				
INSERT INTO #T_CAR(CAR_TYPE, CAR_CNT, NOTE) VALUES ('C', 500, NULL);				
INSERT INTO #T_CAR(CAR_TYPE, CAR_CNT, NOTE) VALUES ('D', 400, NULL);				
INSERT INTO #T_CAR(CAR_TYPE, CAR_CNT, NOTE) VALUES ('E', 200, NULL);				
INSERT INTO #T_CAR(CAR_TYPE, CAR_CNT, NOTE) VALUES ('F', 40 , NULL);				
INSERT INTO #T_CAR(CAR_TYPE, CAR_CNT, NOTE) VALUES ('G', 300, NULL);				
				
SELECT TOP 3 CAR_TYPE, SUM(CAR_CNT) AS CAR_SUM				
FROM #T_CAR 				
GROUP BY CAR_TYPE HAVING SUM(CAR_CNT) > 100 				
ORDER BY SUM(CAR_CNT) ;				

查询结果如下:

结语:很老的一道面试题目,之前也有人在CSDN做过,但是我与他理解不同。

仁者见仁智者见智。

相关推荐
Hygge-star9 小时前
【Java实战】集合排序方法与长度获取方法辨析(易懂版)
java·面试·职场和发展·学习方法·代码规范
江沉晚呤时9 小时前
使用子查询在 SQL Server 中进行数据操作
java·开发语言·面试·sqlserver
唐天下文化12 小时前
深耕数字化赛道,联众优车以创新风控体系构筑汽车金融护城河
金融·汽车
前端小巷子14 小时前
递归:JavaScript中的强大工具
开发语言·前端·javascript·面试
@泽栖15 小时前
能说一下JVM的内存区域吗
jvm·面试·八股文
NoneCoder1 天前
React 生命周期与 Hook 理解解析
前端·react.js·面试
半桔2 天前
【算法深练】双序列双指针:用“双轨并行”思维,高效破解算法难题
数据结构·c++·算法·leetcode·面试
_Power_Y2 天前
面试刷题4:java(核心+acm模式)
java·算法·leetcode·面试
19要加油2 天前
java面试每日一背 day2
java·面试
DARLING Zero two♡2 天前
C++寻位映射的究极密码:哈希扩展
c++·面试·位图·布隆过滤器