SQL计算销售额占比并格式化显示两位小数
SQL计算销售额占比并格式化显示两位小数
在使用SQL进行数据分析时,我们经常需要计算销售额占比并将其格式化显示为两位小数。本文将介绍如何使用SQL语句实现这一功能。
示例代码:
CONVERT(VARCHAR, ROUND((SUM(CASE WHEN 日期 >= '2023-03-14' THEN 总销量 END) OVER (PARTITION BY 大区, 督导 ORDER BY 日期, 大区, 督导) * 100.0 / NULLIF(SUM(CASE WHEN 日期 >= '2023-03-14' THEN 全产品销量 END) OVER (PARTITION BY 大区, 督导 ORDER BY 日期, 大区, 督导), 0)), 2)) + '%'
代码解释:
SUM(CASE WHEN 日期 >= '2023-03-14' THEN 总销量 END) OVER (PARTITION BY 大区, 督导 ORDER BY 日期, 大区, 督导): 计算从2023年3月14日开始的每个大区、每个督导的总销量。SUM(CASE WHEN 日期 >= '2023-03-14' THEN 全产品销量 END) OVER (PARTITION BY 大区, 督导 ORDER BY 日期, 大区, 督导): 计算从2023年3月14日开始的每个大区、每个督导的全产品销量。* 100.0 / NULLIF(..., 0): 计算总销量占全产品销量的比例,并处理全产品销量为0的情况,避免除以0错误。ROUND(..., 2): 将比例保留两位小数。CONVERT(VARCHAR, ...): 将结果转换为字符串类型。+ '%': 在结果末尾添加百分号。
总结:
通过以上代码,我们可以轻松地计算销售额占比并将其格式化显示为两位小数。需要注意的是,该代码仅供参考,实际应用中需要根据具体情况进行调整。
原文地址: https://www.cveoy.top/t/topic/m2dG 著作权归作者所有。请勿转载和采集!