当前位置: 首页 > news >正文

MySQL高阶1907-按分类统计薪水

目录

题目

准备数据

分析数据

总结


题目

结果表 必须 包含所有三个类别。 如果某个类别中没有帐户,则报告 0 。

按 任意顺序 返回结果表。

查询每个工资类别的银行账户数量。 工资类别如下:

  • "Low Salary":所有工资 严格低于 20000 美元。
  • "Average Salary": 包含 范围内的所有工资 [$20000, $50000] 。
  • "High Salary":所有工资 严格大于 50000 美元。

准备数据

Create table If Not Exists Accounts (account_id int, income int);Truncate table Accounts;
insert into Accounts (account_id, income) values ('3', '108939');
insert into Accounts (account_id, income) values ('2', '12747');
insert into Accounts (account_id, income) values ('8', '87709');
insert into Accounts (account_id, income) values ('6', '91796');

分析数据(方法二)

第一步:利用case函数,将工资分类

select*,casewhen income < 20000 then 'Low Salary'when income >= 20000 and income <= 50000 then 'Average Salary'when income > 50000 then 'High Salary'end category
from accounts;

第二步:再建一个t2,里边包含三个类别

select 'Low Salary' as category
union all
select 'Average Salary'
union all
select 'High Salary';

第三步:将t2左连接t1,当t1不满足t2,会产生null,此时通过coalcase函数统计个数,会将null值也统计进去.

with t1 as (select*,casewhen income < 20000 then 'Low Salary'when income >= 20000 and income <= 50000 then 'Average Salary'when income > 50000 then 'High Salary'end categoryfrom accounts
),t2 as (select 'Low Salary' as categoryunion allselect 'Average Salary'union allselect 'High Salary'
)selectt2.category,coalesce(count(account_id),0) as accounts_countfrom t2 left join t1 on t2.category = t1.category
group by t2.category;

总结

当统计不满足时输出0,可以运用左连接,再通过coalcase函数统计.


http://www.mrgr.cn/news/33007.html

相关文章:

  • 七大经典基于比较排序算法【Java实现】
  • SQL,力扣题目1107,每日新用户统计
  • 深入理解指针
  • 关于指针p有关的3个值
  • 【软考知识】敏捷开发与统一建模过程(RUP)
  • Sql server 备份还原方法
  • 华为摄像机/NVR主动注册协议接入SVMSP平台
  • 基于SpringBoot+Vue+MySQL的手机销售管理系统
  • 秩一的等价转化
  • 有关elementui form验证问题,有值却仍然显示不通过
  • HtmlCss 基础总结(基础好了才是最能打的)三
  • ★ C++进阶篇 ★ 二叉搜索树
  • 机器之心 | 阿里云Qwen2.5发布!再登开源大模型王座,Qwen-Max性能逼近GPT-4o
  • OpenGL 原生库6 坐标系统
  • 【漏洞复现】泛微OA E-Office jx2_config.ini 敏感信息泄漏漏洞
  • Wireshark学习使用记录
  • IPsec-VPN中文解释
  • Vue极简入门
  • 不要死磕技术,还是要产品化
  • 图像生成大模型 Imagen:重塑创意的未来
  • 排序----快速排序(快排)(递归版)
  • 构建高可用和高防御力的云服务架构第一部分:深入解析DDoS高防(1/5)
  • git submodule
  • 低代码可视化工具-uniapp页面跳转传参-代码生成器
  • 为什么喝酱酒会回甘?
  • T4—猴痘识别