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)) + '%'

代码解释:

  1. SUM(CASE WHEN 日期 >= '2023-03-14' THEN 总销量 END) OVER (PARTITION BY 大区, 督导 ORDER BY 日期, 大区, 督导): 计算从2023年3月14日开始的每个大区、每个督导的总销量。
  2. SUM(CASE WHEN 日期 >= '2023-03-14' THEN 全产品销量 END) OVER (PARTITION BY 大区, 督导 ORDER BY 日期, 大区, 督导): 计算从2023年3月14日开始的每个大区、每个督导的全产品销量。
  3. * 100.0 / NULLIF(..., 0): 计算总销量占全产品销量的比例,并处理全产品销量为0的情况,避免除以0错误。
  4. ROUND(..., 2): 将比例保留两位小数。
  5. CONVERT(VARCHAR, ...): 将结果转换为字符串类型。
  6. + '%': 在结果末尾添加百分号。

总结:

通过以上代码,我们可以轻松地计算销售额占比并将其格式化显示为两位小数。需要注意的是,该代码仅供参考,实际应用中需要根据具体情况进行调整。

SQL计算销售额占比并格式化显示两位小数

原文地址: https://www.cveoy.top/t/topic/m2dG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录