如何编写SQL查询获取销售额最高及次高的客户姓名?
没问题,我来帮你搞定这两个SQL查询。先假设你的数据表名为customers(如果实际表名不同,直接替换就行),针对你的需求,整理出两条精准的查询语句:
对应SQL查询语句
1. 查询最高销售额的客户姓名
这条语句通过嵌套查询先定位到最高销售额,再匹配对应的客户姓名:
SELECT Name FROM customers WHERE Sales = (SELECT MAX(Sales) FROM customers);
针对你的样本数据,这条语句会返回vasu——他的900销售额是所有客户里最高的。
2. 查询次高销售额的客户姓名
我们先排除掉最高销售额的记录,再从剩余数据里找最大值,就能定位到次高的客户:
SELECT Name FROM customers WHERE Sales = ( SELECT MAX(Sales) FROM customers WHERE Sales < (SELECT MAX(Sales) FROM customers) );
针对样本数据,这条语句会返回mahesh,他的750销售额是仅次于900的次高值。
补充说明:如果遇到多个客户销售额相同的情况(比如两个客户都是最高额),这两条语句会返回所有符合条件的客户姓名,更贴合实际业务场景的需求。
内容的提问来源于stack exchange,提问作者Pavan Kumar
相关产品推荐
相关产品推荐

