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

sql常用之CASE WHEN THEN

sql常用之CASE WHEN THEN

SQL中的 CASE 类似编程语言里的 if-then-else 语句,用做逻辑判断。可以用于SELECT语句中,也可以用在WHERE,GROUP BY 和 ORDER BY 子句;可以单独使用,也可以和聚合函数结合使用。

语法:

CASE WHEN condition1 THEN result1[WHEN condition2  THEN result2][...][ELSE result] 
END [AS alias_name]

注:[]中的内容可省略

condition是一个返回布尔类型的表达式,如果表达式为TRUE,则整个函数返回相应result的值;如果表达式皆为 FALSE,则返回 ElSE 后result的值;如果省略了ELSE子句,则返回NULL。

demo

demo1:
有一个名为 students 的表,其中包含学生的姓名和分数。我们想要根据学生的分数判断他们的成绩等级。我们可以使用 CASE WHEN 语句来实现:

SELECT name, score,CASEWHEN score >= 90 THEN 'A'WHEN score >= 80 THEN 'B'WHEN score >= 70 THEN 'C'WHEN score >= 60 THEN 'D'ELSE 'F'END AS grade
FROM students;

demo2:
使用多个 WHEN THEN 子句定义了排序规则。根据销售量的不同范围,我们为产品设定了不同的排序值。销售量大于 1000 的产品排序值为 1,销售量大于 500 的产品排序值为 2,销售量大于 100 的产品排序值为 3,其他销售量的产品排序值为 4。然后,我们按照排序值进行升序排序,如果排序值相同,则按照销售量进行降序排序。

SELECT name, sales
FROM products
ORDER BYCASEWHEN sales > 1000 THEN 1  -- 销售量大于 1000 的产品,排序值设为 1WHEN sales > 500 THEN 2   -- 销售量大于 500 的产品,排序值设为 2WHEN sales > 100 THEN 3   -- 销售量大于 100 的产品,排序值设为 3ELSE 4                   -- 其他销售量的产品,排序值设为 4END ASC,                     -- 根据排序值进行升序排序sales DESC;                  -- 在排序值相同的情况下,按照销售量进行降序排序

在 CASE 表达式之后添加了 , sales DESC。这样可以在排序值相同的情况下,按照销售量进行降序排序。

http://www.lryc.cn/news/329554.html

相关文章:

  • 【PduR路由】IPduM模块详细介绍
  • 【MySQL】6.MySQL主从复制和读写分离
  • Lucene及概念介绍
  • 密码算法概论
  • 实时数仓之实时数仓架构(Hudi)
  • 2022-04-15_for循环等_作业
  • 脑机辅助推导算法
  • 【原创教程】三菱FX PLC控制FR-E740变频器
  • 重读Java设计模式: 深入探讨建造者模式,构建复杂对象的优雅解决方案
  • C语言数据结构易错知识点(6)(快速排序、归并排序、计数排序)
  • 使用 React Router v6.22 进行导航
  • 单链表的插入和删除
  • 全量知识系统 之“程序”详细设计 之 “絮”---开端“元素周期表”表示的一个“打地鼠”游戏
  • 【详细讲解WebView的使用与后退键处理】
  • 【Linux多线程】生产者消费者模型
  • Django屏蔽Server响应头信息
  • 前端对数据进行分组和计数处理
  • synchronized 和 lock
  • ssh 公私钥(github)
  • LangChain入门:8.打造自动生成广告文案的应用程序
  • AI如何影响装饰器模式与组合模式的选择与应用
  • 【C语言环境】Sublime中运行C语言时MinGW环境的安装
  • Ubuntu18.04 下Ublox F9P 实现RTK (利用CORS服务无需自建基站)
  • springboot+vue在idea上面的使用小结
  • MyEclipse将项目的开发环境与服务器的JDK 版本保持一致
  • 为BUG编程:函数重载的烦恼 char *匹配bool而不是string
  • C++第十四弹---模板初阶
  • C++--内联函数
  • java数组与集合框架(一) -- 数据结构,数组
  • React 应用实现监控可观测性最佳实践