如何将指定SQL改写为带WHERE子查询的形式获取最高消费客户姓名
改写后的SQL查询语句
SELECT CONCAT(c.first_name, ' ', c.last_name) AS customer FROM customer WHERE customer_id = ( SELECT customer_id FROM payment GROUP BY customer_id ORDER BY SUM(CAST(amount AS float)) DESC LIMIT 1 );
说明
- 内层子查询对
payment表按customer_id分组,计算每个客户的消费总额后降序排序,通过LIMIT 1筛选出消费总额最高的客户ID。 - 外层查询通过匹配客户ID,最终输出该客户的完整姓名。
内容的提问来源于stack exchange,提问作者UnclePete
相关产品推荐
相关产品推荐

