【数据分析面试】1. 计算年度收入百分比(SQL)

在这里插入图片描述

题目

你需要为公司的营收来源生成一份年度报告。计算截止目前为止,在表格中记录的第一年和最后一年所创造的总收入百分比。将百分比四舍五入到两位小数。

示例:
输入:
annual_payments

列名 类型
amount INTEGER
created_at DATETIME
status VARCHAR
user_id INTEGER
amount_refunded INTEGER
product VARCHAR
id INTEGER

输出:

列名 类型
percent_first FLOAT
percent_last FLOAT

答案

解题思路: 首先找到第一年和最后一年的记录。然后,我们需要计算这些年份的总收入。最后,我们将总收入除以截止目前为止的总收入,并将结果乘以100,得到百分比。

易错点: 题目中的amount_refunded字段是指退款金额,在计算总收入时需要将退款金额扣去

答案代码:

SELECT
    ROUND(
    (SELECT SUM(amount-amount_refunded) FROM annual_payments
      WHERE YEAR(created_at) = (SELECT MIN(YEAR(created_at)) FROM annual_payments)
      )/SUM(amount-amount_refunded) * 100.0 , 2) AS percent_first,
    ROUND(
      (SELECT SUM(amount-amount_refunded) FROM annual_payments
      WHERE YEAR(created_at) = (SELECT MAX(YEAR(created_at)) FROM annual_payments)
      )
      /SUM(amount-amount_refunded) * 100.0
      , 2) AS percent_last
FROM
    annual_payments;

相关推荐

  1. js计算百分比

    2024-03-28 16:40:05       21 阅读

最近更新

  1. Django中模型的基于类的混入

    2024-03-28 16:40:05       0 阅读
  2. Impala写Parquet文件

    2024-03-28 16:40:05       0 阅读
  3. C# 反射

    2024-03-28 16:40:05       1 阅读
  4. 在程序中引用cuda.memory函数监控GPU内存

    2024-03-28 16:40:05       1 阅读
  5. LlamaInde相关学习

    2024-03-28 16:40:05       0 阅读

热门阅读

  1. js的事件

    2024-03-28 16:40:05       17 阅读
  2. HTTPS握手解析

    2024-03-28 16:40:05       16 阅读
  3. 基于单片机的智能多肉养殖系统设计

    2024-03-28 16:40:05       18 阅读
  4. Redis 数据类型及其底层数据结构

    2024-03-28 16:40:05       16 阅读