场景

我们在实现一些类似的统计功能的时候一般会根据场景去分别统计,比如订单存在多种状态我们需要分别统计各种状态的订单,如已支付,待支付,已退款等等,实现方式有多种,这里我们使用sql直接去统计。

语法

CASE expr WHEN condition1 THEN result1 EN  WHEN condition2 THEN result2 EN  ELSE result3END  如果condition1成立则返回result1 ,否则往下执行,最后到ELse可以比对下{switch...case...default}

使用

先来看一下订单统计,我们假设3代表已支付、4已退款、0待支付、2已过期select order_status, count(*) from tp_order group by order_status;+--------------+----------+| order_status | count(*) |+--------------+----------+|            0 |      876 ||            1 |        1 ||            2 |       27 ||            3 |      467 ||            4 |       22 |+--------------+----------+5 rows in set (0.01 sec)         --这里也可以用if实现select order_id as '订单ID',   case order_status     when 3 then '已支付'     when 0 then '待支付'     when 4 then '已退款'   end as '订单状态' from tp_order limit 5;+----------+--------------+| 订单ID   | 订单状态     |+----------+--------------+|       80 | 已支付       ||       81 | 已支付       ||       82 | 已支付       ||       83 | 已支付       ||       84 | 已支付       |+----------+--------------+5 rows in set (0.00 sec)select sum(case `order_status` when 3 then `order_amount` else 0 end ) as '已支付总金额', sum(case `order_status` when 4 then `order_amount` else 0 end ) as '已退款总金 额', sum(case `order_status` when 0 then `order_amount` else 0 end ) as '待支付总金额' from tp_order;+--------------------+--------------------+--------------------+| 已支付总金额       | 已退款总金额       | 待支付总金额       |+--------------------+--------------------+--------------------+|        32766777.01 |           29890.41 |         1349925.62 |+--------------------+--------------------+--------------------+1 row in set (0.00 sec)

case when then else_每天一个常用MySQL函数-[case_when_then_end]相关推荐

  1. mysql 格式化时间_每天一个常用MySQL函数-from_unixtime等

    场景 我们在MySQL中存储数据的时候,表中通常有代表时间属性的字段,更新时间.创建时间.支付成功时间等,通常为时间戳或者标准时间格式,可能会遇到需要格式化展示的需求,可以通过程序去控制或者通过MyS ...

  2. 常用MySQL函数存储过程_解析MySQL存储过程、常用函数代码

    mysql存储过程的概念: 存储在数据库当中可以执行特定工作(查询和更新)的一组SQL代码的程序段. mysql函数的概念: 函数是完成特定功能的SQL语句,函数分为内置函数和自定义函数(user-d ...

  3. c fun函数求n个整数的平均值_常用正则表达式和常用MySQL函数整理

    非负整数:^d+$正整数:^[0-9]*[1-9][0-9]*$非正整数:^((-d+)|(0+))$负整数:^-[0-9]*[1-9][0-9]*$整数:^-?d+$非负浮点数:^d+(.d+)?$ ...

  4. php show函数,PHP中的常用MYSQL函数 - msnshow的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    1.mysql_connect()-建立数据库连接51Testing软件测试网6\p A4B4F$f 格式:M-k0u-u4t+J K0 resource mysql_connect([string ...

  5. 数据库mysql中贴换函数_关于一个自定义MYSQL函数,实现点击链接后,在数据库里改变数据的问题。...

    展开全部 嗯... 回答你这个问题比较纠62616964757a686964616fe4b893e5b19e31333332626161结, 因为看情况你已经完全把前端代码和后台代码混为一谈了. 那么 ...

  6. mondrian mysql 实例_MONDRIAN支持的常用mysql函数

    数值函数 MAX    Caclulatedmember实现 MIN        Caclulatedmember实现 AVG       Caclulatedmember实现 SUM       ...

  7. 添加mysql 函数库_mysql函数创建

    如何使用MySQL提升权限 前不久网上公开了一个MySQL Func的漏洞,讲的是使用MySQL创建一个自定义的函数,然后通过这个函数来攻击服务器.最早看到相关的报道是在o-otik上,但是公布的是针 ...

  8. mysql添加函数库_创建mysql函数

    如何使用MySQL提升权限 前不久网上公开了一个MySQL Func的漏洞,讲的是使用MySQL创建一个自定义的函数,然后通过这个函数来攻击服务器.最早看到相关的报道是在o-otik上,但是公布的是针 ...

  9. C语言常用功能函数集合

    C语言常用功能函数集合 说明:作者将个人接触到的C语言功能函数记录下来,组成一个集合,便于查阅和加深印象. 1. 内存相关 malloc()函数 :申请一片连续的堆内存,字节为单位.分配所需的内存空间 ...

最新文章

  1. python大神-Python 大神 kennethreitz 又搞事了
  2. NumberUtils用法
  3. 高效使用Google
  4. echarts formatter_vue使用echarts的方法
  5. Hadoop生态系统的详细介绍
  6. cad服务器手动改自动,几百块就能手动改自动? 怎样省钱换来方便
  7. LeetCode 720. 词典中最长的单词(Trie树)
  8. 客户端用mstsc不能用一台设备连接终端服务器的解决办法
  9. 这种事情干不得!微信已动手处理4.5万个公众号
  10. 走进markdown
  11. python运用maya_Mayapythonapi场景选择操作
  12. ai python 面试_面试分享系列 | 17道Python面试题,让你在求职中无往不利
  13. Eplan 各版本 软件 百度网盘 永久链接
  14. 微信小程序自定义icon
  15. 定理在数学中的简写形式_初中数学常用的定理大全
  16. 老九学堂 学习 C++ 第四天
  17. c#窗体应用程序链接本地html网页,使用C# Winform应用程序获取网页源文件的解决方法...
  18. 2.1 随从图标的创建———自制卡牌游戏之旅
  19. 运维自动化工具Cobbler之——安装实践
  20. 贴图知识汇总: 漫反射贴图、凹凸贴图、高光贴图、 AO贴图、环境贴图、 光照纹理及细节贴图

热门文章

  1. 蔚来正式登陆港交所 首日开盘报160港元
  2. 苹果“噩梦”来袭!iPhone 13、iPad竟遭遇停产 十多年来首次
  3. 3800元!爆料大神怒赞谷歌Pixel 6:这是今年最好看手机!
  4. 自行更换iPhone 13屏幕会导致Face ID失效?苹果将发布软件更新解除限制
  5. 腾讯接入华为鸿蒙!QQ音乐与Harmony OS达成合作 推出听歌识曲万能卡片
  6. 马云终于露面了!发表千字演讲
  7. 李想:欣赏特斯拉 但更喜欢苹果、乔布斯
  8. iOS 13.2“杀后台”严重 被用户狂喷:专业“杀微信”
  9. 老用户们,苹果没有忘了你们!
  10. 荣耀20s真机谍照曝光:开孔全面屏+后置竖排三摄