SQL关于 WHEN_THEN 区间划分的坑点

本文探讨了在SQL中使用CASE_WHEN进行区间划分时可能遇到的问题。通过三种不同方案的示例,展示了区间定义的顺序对查询结果的影响。总结指出,当查询代码顺序与区间排序一致时,只需指定区间起点或终点,否则需同时包含起点和终点。此外,还提醒了BETWEEN _AND 在不同数据库中可能存在差异,建议在日常查询中更多使用逻辑运算符。
摘要由CSDN通过智能技术生成

构造测试数据

本文用子查询的形式构造测试数据,朋友们也可以通过 CREATE_TABLE 进行构造测试数据。

-- 假设某店铺上个月卖出去了5款iPhone手机,以下是具体型号和销售数量
SELECT  'iPhone 1' AS type
        ,10 AS num
UNION
SELECT  'iPhone 2' AS type
        ,30 AS num
UNION
SELECT  'iPhone 3' AS type
        ,50 AS num
UNION
SELECT  'iPhone 4' AS type
        ,80 AS num
UNION
SELECT  'iPhone 5' AS type
        ,20 AS num

销售数据如下
在这里插入图片描述

case_when 划分区间

期望将销量划分为“小于等于30”、“小于等于50”和“大于50”三个区间

方案一

查询代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值