SQL中如何按客户购买商品总数量对客户姓名降序排序
实现逻辑
你需要先按客户维度分组聚合计算总购买量,再基于聚合结果做降序排序即可。
以下是可直接运行的SQL示例,默认你存储购买记录的表名为purchase_records,客户姓名字段为customer_name,如果你的实际表名、字段名和假设不符,替换对应位置的内容即可:
SELECT customer_name, SUM(Inv_number) AS total_purchase_quantity FROM purchase_records GROUP BY customer_name ORDER BY total_purchase_quantity DESC;
语句说明
SUM(Inv_number) AS total_purchase_quantity:对每个客户的所有购买记录的Inv_number求和,取别名方便后续排序和结果阅读GROUP BY customer_name:按客户姓名分组,保证每个客户仅返回一条汇总结果ORDER BY total_purchase_quantity DESC:按总购买数量降序排序,购买量越高的客户排名越靠前
注意:如果存在同名客户的情况,建议使用客户唯一ID(如
customer_id)作为分组字段,再关联客户表带出姓名,避免不同客户的数据被错误合并。
内容的提问来源于stack exchange,提问作者Baker Man
相关产品推荐
相关产品推荐

