You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

数据库中营收首数字出现次数统计与分布排序实现求助

营收首数字分布统计实现方案

核心逻辑步骤

  • 计算单条记录营收:通过单价 * 数量得到每条销售的营收金额
  • 提取首数字:处理营收为正的情况,截取数值的第一个有效数字
  • 统计排序:按首数字分组统计出现次数,再按次数从多到少排序

通用SQL示例(以MySQL为例)

假设你的销售记录表名为sales,单价字段为unit_price,数量字段为quantity,执行以下SQL即可得到预期结果:

SELECT
    CAST(SUBSTRING(CAST(ABS(unit_price * quantity) AS CHAR), 1, 1) AS UNSIGNED) AS first_digit,
    COUNT(*) AS occurrence_count
FROM
    sales
WHERE
    unit_price * quantity != 0 -- 排除营收为0的无效记录
GROUP BY
    first_digit
ORDER BY
    occurrence_count DESC;

不同数据库适配说明

  • PostgreSQL:替换首数字提取部分为LEFT(ABS(unit_price * quantity)::TEXT, 1)::INT
  • SQL Server:替换首数字提取部分为CAST(LEFT(CAST(ABS(unit_price * quantity) AS VARCHAR(20)), 1) AS INT)

结果说明

执行后会得到两列数据:first_digit(营收首数字)和occurrence_count(对应出现次数),结果按出现次数降序排列,与预期示意图一致。

内容的提问来源于stack exchange,提问作者lala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:40:31