首页 > 数据库 >【SQL】1907. 按分类统计薪水(IF语句;CASE 语句;UNION)

【SQL】1907. 按分类统计薪水(IF语句;CASE 语句;UNION)

时间:2024-03-18 13:59:33浏览次数:32  
标签:语句 CASE -- when count UNION income Salary category

前述

知识点回顾:

  1. case when then else end
  2. Mysql:条件判断函数-CASE WHEN、IF、IFNULL详解

题目描述

leetcode 题目:1907. 按分类统计薪水

在这里插入图片描述
在这里插入图片描述

1. 写法一:if 语句

select 
    'Low Salary' as category,
    sum(if(income < 20000, 1, 0)) as accounts_count 
from Accounts
union
select
    'Average Salary' as category,
    sum(if(income >= 20000 and income <= 50000, 1, 0)) as accounts_count
from Accounts
union
select
    'High Salary' as category,
    sum(if(income > 50000, 1, 0)) as accounts_count
from Accounts

2. 写法二:case when then else end

select 
    'Low Salary' as category,
    sum(case when income < 20000 then 1 else 0 end) as accounts_count 
from Accounts
union
select
    'Average Salary' as category,
    sum(case when income >= 20000 and income <= 50000 then 1 else 0 end) as accounts_count
from Accounts
union
select
    'High Salary' as category,
    sum(case when income > 50000 then 1 else 0 end) as accounts_count
from Accounts

3. 记录自己的错误:

-- ERROR!!!
-- select
--     case 
--         when income < 20000 then 'Low Salary'
--         when income > 50000 then 'High Salary'
--         else 'Average Salary'
--     end as category,
--     count(*) as accounts_count 
-- from Accounts
-- group by category;

错误原因:
在这里插入图片描述

标签:语句,CASE,--,when,count,UNION,income,Salary,category
From: https://blog.csdn.net/xiaoyue_/article/details/136802488

相关文章

  • FireDAC中官方SQL语句增insert,查Select,删delete,改update语句写法(20)
    procedureTfrmGettingStarted.btnInsertClick(Sender:TObject);variID:Integer;beginifnotFDconnection1.ConnectedthenExit;//Insertarecord增FDconnection1.ExecSQL('insertintoCategories(CategoryName,Description,Picture)'......
  • 捉虫日记 | MySQL 8.0从库某些情况下记录重放的CREATE TABLE、DROP TABLE语句到慢日志
    作者:卢文双资深数据库内核研发本文首发于2023-11-3020:47:35https://dbkernel.com问题描述当主从复制采用binlog的行模式时,如果从库启用slow_query_log、log_slow_replica_statements且从库重放CREATETABLE、DROPTABLE时因特殊情况(比如被从库其他SQL占用MDL......
  • FireDAC中FDQuery1中SQL语句中的参数使用
    假设数据库已正常连接双击FDQuery1,SQL语句中以冒号开头就是参数,后面就是参数名 然后第二Parameters页,左边列表就有就该参数名,然后给参数的DataType,Value值,再点Execute,就可看到查询结果。 其后将上面的界面,变成代码实现即可procedureTForm13.Button1Click(Sende......
  • while语句的实际应用(2)
    3150:【例25.2】26个兄弟姐妹2时间限制:1000ms      内存限制:65536KB提交数:6770   通过数:4845【题目描述】26个字母26枝花,26个兄弟姐妹是一家,大写字母与小写字母不分家。试编一程序,按顺序输出26个小写英文字母,再按逆序输出26个大写字母。【输入......
  • while语句的实际应用(3)
    3151:【例25.3】输出奇偶数之和时间限制:1000ms      内存限制:65536KB提交数:6981   通过数:4603【题目描述】利用for循环,分别输出1∼n之间的所有奇数的和、偶数的和。【输入】输入n(1≤n≤100)。【输出】输出为一行,两个数(用一个空格隔开)......
  • idea项目mapper.xml中的SQL语句黄色下划线去除
    问题描述当我们使用idea开发java项目时,经常会与数据库打交道,一般在使用mybatis的时候需要写一大堆的mapper.xml以及SQL语句,每当写完SQL语句的时候总是有黄色下划线,看着很不舒服。解决方案:修改idea的配置Editor->Inspections打开配置页面后,在中间视窗找到sql的>点击下......
  • sql case when, Exist ,group by ,聚合
    selectcm.heatno,cm.lotheatno,cm.heatorder,max(cm.cutdate)cutdate,cm.cutdimensiona,cm.cutdimensionb,cm.length,sum(cm.weight/1000)weight,sum(cm.weightw......
  • MogDB-openGauss事务处理语句
    MogDB/openGauss事务处理语句事务是由一组SQL语句序列构成的原子操作集合,它具有原子性、一致性、隔离性和持久性的特点。用户在开始执行一个SQL语句时,实际上就已经开始了一个隐式的事务,而SQL语句执行结束,隐式的事务也会根据SQL语句的执行成功与否分別进行提交(Commit)......
  • mysql语句
    1.获取表中全部字段selectGROUP_CONCAT(COLUMN_NAME)frominformation_schema.COLUMNSwheretable_name='表名'andtable_schema='库名';2.数据表字段总数SELECTcount(1)frominformation_schema.COLUMNSWHEREtable_schema='apollo'andtable_na......
  • sql注入——union联合注入
    union的作用:用于合并两个或多个查询语句的结果集,注意:union内部的查询语句必须查和外部相同数量的列。orderby的作用:用于根据指定的列对结果集进行排序使用orderby的目的:因为orderby对没有的列进行排序时会报错,利用这个特性能够快速的确定这张表有多少个字段 注入步骤:......