ROUND((SUM(CASE WHEN EXTRACT(YEAR FROM SB.SKSSQQ) = '2022' THEN YBNSE.YNSR END) OVER() - SUM(CASE WHEN EXTRACT(YEAR FROM SB.SKSSQQ) = '2021' THEN YBNSR.YNSE END) OVER()) / SUM(CASE WHEN EXTRACT(YEAR FROM SB.SKSSQQ) = '2021' THEN YBNSR.YNSE END) OVER() * 100, 2) YNSEBDL 请模拟一下这段代码
时间: 2024-01-16 20:02:45 浏览: 26
假设有如下数据:
| SB.SKSSQQ | YBNSE.YNSR | YBNSR.YNSE |
|-----------|------------|------------|
| 2021-01-01 | 100 | 100 |
| 2021-02-01 | 200 | 300 |
| 2022-01-01 | 150 | 200 |
则运行这段代码的结果为:
```
ROUND((SUM(CASE WHEN EXTRACT(YEAR FROM SB.SKSSQQ) = '2022' THEN YBNSE.YNSR END) OVER() - SUM(CASE WHEN EXTRACT(YEAR FROM SB.SKSSQQ) = '2021' THEN YBNSR.YNSE END) OVER()) / SUM(CASE WHEN EXTRACT(YEAR FROM SB.SKSSQQ) = '2021' THEN YBNSR.YNSE END) OVER() * 100, 2) YNSEBDL
= ROUND((150 - 400) / 400 * 100, 2)
= ROUND(-62.5, 2)
= -62.5
```
因此,假设有以上数据,这段代码的运行结果为-62.5。
相关问题
round(sum(case when `订单状态`="已起租" then `总费用` end),2)
回答: 这个问题是关于使用round函数和sum函数结合case语句来计算已起租订单的总费用并保留两位小数的问题。根据引用\[1\]中的总结,sum(case when `订单状态`="已起租" then `总费用` end)的意思是如果订单状态为"已起租",则将对应的总费用加起来,否则不计入总和。而round函数的作用是将计算结果保留两位小数。因此,可以使用以下语句来计算已起租订单的总费用并保留两位小数: round(sum(case when `订单状态`="已起租" then `总费用` end),2)。
#### 引用[.reference_title]
- *1* *2* [根据日期求比赛的正负次数,sum(case ? when ? then else 0 end)的用法](https://blog.csdn.net/qq_48333276/article/details/120908450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [SQL的case when then else end语句的用法](https://blog.csdn.net/m0_61466807/article/details/124014623)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
round(sum(case when s_score>=60 then 1 else 0 end)/count(c_id),2)passRate,
这是一段 SQL 语句,用于计算某门课程的及格率。其中,s_score 表示学生成绩,c_id 表示课程编号。语句首先使用 case when 条件语句判断学生成绩是否大于等于 60 分,如果满足条件则返回 1,否则返回 0。然后使用 sum 函数计算及格的学生人数,除以 count 函数计算出总人数,最后使用 round 函数保留两位小数,得出及格率。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)