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

在这里插入图片描述

题目

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

示例:
输入:
annual_payments

列名类型
amountINTEGER
created_atDATETIME
statusVARCHAR
user_idINTEGER
amount_refundedINTEGER
productVARCHAR
idINTEGER

输出:

列名类型
percent_firstFLOAT
percent_lastFLOAT

答案

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

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

答案代码:

SELECTROUND((SELECT SUM(amount-amount_refunded) FROM annual_paymentsWHERE 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_paymentsWHERE YEAR(created_at) = (SELECT MAX(YEAR(created_at)) FROM annual_payments))/SUM(amount-amount_refunded) * 100.0, 2) AS percent_last
FROMannual_payments;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/783874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux企业级别日志的查找

企业级别日志的查找 查看mysql数据库的日志错误日志(Error Log)查询日志(General Query Log)慢查询日志(Slow Query Log)事务日志(Transaction Log)二进制日志(Binary Lo…

Thread 之start 和run 的区别

Java Thread 之start 和run 的区别 用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行&#x…

P1739 表达式括号匹配

题目:P1739 表达式括号匹配 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 代码&#xff1a; #include<bits/stdc.h> using namespace std; int main() {char c;stack<char> s;while(cin>>c&&c!){if(c()s.push(c);if(c)){if(!s.empty())s.pop();e…

【MATLAB源码-第23期】基于matlab的短时傅里叶STFT信号变换仿真,得到信号的时频曲线图。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 短时傅里叶变换&#xff08;Short-Time Fourier Transform&#xff0c;STFT&#xff09;是傅里叶变换的一种扩展&#xff0c;用于分析信号在时域和频域上的变化。描述如下&#xff1a; 1. **时域与频域分析**&#xff1a; …

【Chapter2】进程、线程与作业,计算机操作系统教程,第四版,左万利,王英

文章目录 [toc] 一、多道程序设计1.1单道程序设计的缺点1.2多道程序设计的提出1.3多道程序设计存在的问题 二、进程的引入2.1进程的概念2.2进程的组成2.2.1进程控制块2.2.2程序 2.3进程的类型及特征2.3.1进程的类型2.3.2进程的特征 2.4进程的状态及转换2.4.1进程的状态创建态就…

【对比golang和java的区别】

&#x1f308;个人主页:程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

【LeetCode: 330. 按要求补齐数组 + 贪心 + 构造区间】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Beans模块之工厂模块DisposableBean

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

JS:错误捕获(try...catch/window.onerror/window.addEventListener)

一、try...catch 1.在同步任务中 <script>let a 0;try {//要执行的代码console.log(b);} catch (e) {//如果有错误&#xff0c;执行这里的代码console.log(e); //ReferenceError: b is not defined}</script> 2.在异步任务中 2.1 promise中 <script>new …

【STM32嵌入式系统设计与开发】——12IWDG(独立看门狗应用)

这里写目录标题 一、任务描述二、任务实施1、ActiveBeep工程文件夹创建2、函数编辑&#xff08;1&#xff09;主函数编辑&#xff08;2&#xff09;USART1初始化函数(usart1_init())&#xff08;3&#xff09;USART数据发送函数&#xff08; USART1_Send_Data&#xff08;&…

Leetcode 187. 重复的DNA序列

DNA序列 由一系列核苷酸组成&#xff0c;缩写为 ‘A’, ‘C’, ‘G’ 和 ‘T’.。 例如&#xff0c;“ACGAATTCCG” 是一个 DNA序列 。 在研究 DNA 时&#xff0c;识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s &#xff0c;返回所有在 DNA 分子中出现不…

八大排序(尚未完善)

目录 java的数组值交换1. 冒泡排序2. 插入排序3. 选择排序4. 基数排序5. 希尔排序6. 快速排序&#xff08;待写&#xff09;7. 归并排序&#xff08;待写&#xff09;8. 堆排序&#xff08;待写&#xff09; 基本的流程就不写了&#xff0c;不会就自己看代码&#xff0c;按照代…

JS(七)avaScript中的对象

JS&#xff08;七&#xff09;avaScript中的对象 01 什么是对象 在JavaScript中&#xff0c;对象是一种复合数据类型&#xff0c;用于存储键值对。对象可以包含多个属性&#xff08;键值对&#xff09;&#xff0c;每个属性都有一个名称&#xff08;键&#xff09;和一个值。 …

五年经验,连个文件下载方法都写不好

前言 在java web开发中&#xff0c;我们经常遇到浏览器文件下载的功能&#xff0c;看似很简单的功能&#xff0c;有些几年经验的老鸟&#xff0c;都写不好&#xff0c;大家遇到这种功能&#xff0c;都是直接CtrlC一下代码&#xff0c;具体代码估计都没看。下面有两种写法对比&…

php获取文件列表(所有子目录文件)

方法一&#xff1a; 可以使用递归函数来获取所有子目录下的文件列表&#xff0c;以下是一个示例代码&#xff1a; <?php function getFiles($dir) {$files [];if (is_dir($dir)) {$handle opendir($dir);while (($file readdir($handle)) ! false) {if ($file ! . &…

2025中国跨境电商交易会(春季福州)

2025中国跨境电商交易会&#xff08;春季福州&#xff09; 时间&#xff1a;2025年3月18-20日 地点&#xff1a;福州海峡国际会展中心 预订以上展会详询陆先生 I38&#xff08;前三位&#xff09; I82I&#xff08;中间四位&#xff09; 9I72&#xff08;后面四位&#x…

10.windows ubuntu 组装软件:spades,megahit

Spades 是一种用于组装测序数据的软件&#xff0c;特别适用于处理 Illumina 测序平台产生的数据。它的全称是 "St. Petersburg genome assembler"&#xff0c;是一款广泛使用的基因组组装工具。 第一种&#xff1a;wget https://cab.spbu.ru/files/release3.15.3/S…

系统慢查询的思考

系统慢查询的思考 在一个系统中发现慢查询的功能或很卡的现象。你是怎么思考的&#xff1f;从哪几个方面去思考&#xff1f;会用什么工具&#xff1f; 一个系统使用了几年后都可能会出现这样的问题。原因可能有以下几点。 数据量的增加。系统中平时的使用中数据量是有一个累…

数据结构——优先级队列及多服务台模拟系统的实现

一、优先级队列的定义和存储 优先级队列定义&#xff1a;优先级高的元素在队头&#xff0c;优先级低的元素在队尾 基于普通线性表实现优先级队列&#xff0c;入队和出队中必有一个时间复杂度O(n),基于二叉树结构实现优先级队列&#xff0c;能够让入队和出队时间复杂度都为O(log…

正多边形拓扑与泛函

&#xff08;原创&#xff1a;Daode3056&#xff09; 也许&#xff0c;关于“拓扑”&#xff0c;“泛函”几本书上的内容与实例都是大同小异&#xff0c;总是那么点内容&#xff0c;数学要开拓一些新领域与新内容才能满足不断发展的社会与工业各种需要。本文就以人工智能生成对…