sql语句之case函数的用法

本文介绍了SQL中的简单CASE函数,这是一种用于实现多分支逻辑的表达式,可以根据条件返回不同的结果。通过示例展示了如何计算用户年龄分布和查看不同年龄段的用户明细,帮助理解CASE函数在数据处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单case函数语法:

是一种多分支的函数,可以根据条件列表的值返回多个可能的结果表达式中的一个。(类似于if,else)

简单 CASE函数:
计算测试表达式,按从上到下的书写顺序将测试表达式的值与每个WHEN子句的简单表达式进行比较。

CASE 测试表达式
WHEN 简单表达式1 THEN 结果表达式1
WHEN 简单表达式2 THEN 结果表达式2
......
WHEN 简单表达式n THEN 结果表达式n
[ ELSE 结果表达式n+1 ]
END

简单case函数示例

例1:计算25岁以上和以下的用户数量

SELECT 
      CASE 
      WHEN age < 25 OR age IS NULL THEN '25岁以下' 
      WHEN age >= 25 THEN '25岁及以上'
      END age_cut,COUNT(*)number
FROM user_profile
GROUP BY age_cut

在这里插入图片描述
例2:查看不同年龄段的用户明细

select device_id,gender,
       (case
       when age<20 then '20岁以下'
       when age between 20 and 24 then '20-24岁'
       when age>=25 then '25岁及以上'
       else '其他'
       end) as age_cut
from user_profile
SELECT device_id,gender,
  IF(age is null,'其他',
     IF(age<20,'20岁以下',
     	IF(age<=24,'20-24岁','25岁及以上'))) age_cut
FROM user_profile
SELECT device_id,gender,'20岁以下' as age_cut
FROM user_profile
where age<20;

union 

SELECT device_id,gender,'20-24岁' as age_cut
FROM user_profile
where age>=20 and age<=24;

在这里插入图片描述

case搜索函数见
https://blog.csdn.net/cpc784221489/article/details/90300424

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值