大家好,我是知数堂SQL 优化班老师 网名:骑龟的兔子

我已经写了有趣的SQL系列和MySQL函数系列

本文章我归为MySQL函数系列,其实两个之间哪个都行。

今天给大家带来的问题如下

有如图所示的表 对应着范销售范围和价格

如小于100000的单价按5.0 算,从100000到300000按4.8计算

如果有购买25w 那么应该计算如下

10w*5.0 + 15w*4.8 =500000+720000=1220000

这样的需求应该怎么用SQL表达出来呢 ?

首先我们必须得找出范围

第二步我们需要把25w 变成 10w和15w

结合第一步想得到我们想要的值10w是在上面的结果中的第一行ends的值

也就是输入值25w和10w当中比较的小的值,15w是输入值25w和ends值30w比较的

最小值-start 值+1

换成等式 15w=最小值(25w,30w)-100001+1

10w=最小值(25w,10w)-1+1

这里就需要一个函数求两个值比较的最小值

MySQL为我们提供了LEAST函数正好满足我们的需求

12.3.2 Comparison Functions and Operators​dev.mysql.com

现在我们利用LEAST函数,把上面的逻辑表达出来

如上图所示,我们已经弄出了我们想要的值,剩下的只需要两个列相乘,

并求出两列和就可以了

求和我们用SUM函数

https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_sum

最终的SQL如图所示

这个案例,我们应用了LEAST,SUM两个函数。

其中LEAST函数我们平时接触的较少,而SUM函数就是比较常用的求和函数

更重要的是,且难的是我们拿到需求之后分析的过程,通过这个案例可以看出,

SQL也是一种编程语言,也需要些简单的逻辑。

谢谢大家~ 欢饮转发

我的微信公众号:SQL开发与优化(sqlturning)

我会在头条提供相应例子的视频,希望大家关注

mysql 多个值求和_SQL优化大神玩转MySQL函数系列(2)LEAST,SUM的应用相关推荐

  1. case when then else_SQL 优化大神玩转 MySQL函数系列_case_when 的坑

    大家好,我是知数堂SQL 优化班老师 网名:骑龟的兔子 今天给大家带来的 在MySQL,Oracle 都通用的一个非常基础的但是非常重要的函数 case when 我们看下如下表和数据 在这里我们通过 ...

  2. mysql中null值求和_sql求和涉及到null值

    SQL ISNULL().NVL().IFNULL() 和 COALESCE() 函数 请看下面的 "Products" 表: P_Id ProductName UnitPrice ...

  3. SQL优化大神带你写有趣的SQL(6) SELF JOIN的应用

    大家好,我是知数堂SQL 优化班老师 网名:骑龟的兔子 今天给大家,带来的是 SELF JOIN的应用 下面是,表结构和,INSERT 语句脚本. create table t0718 (idx in ...

  4. oracle入门到大神(备mysql、java基础、javaee必经之路)-任亮-专题视频课程

    oracle入门到大神(备mysql.java基础.javaee必经之路)-19178人已学习 课程介绍         Oracle10g的安装.orcale的基本概念介绍.命令行常用操作.Scot ...

  5. 中国的SEO优化大神都有哪些人呢?【SEO优化大神】

    大家好,我是汉文SEO创始人,今天我们要讨论的问题是:中国SEO优化大神有谁呢?有哪些人呢? 我们先来说说SEO高手是怎么样快速将排名优化到百度首页的:其实优化不在于快而在于透.何谓"透&q ...

  6. mysql 序列自增长 恢复到1_大数据教程分享MySQL数据库约束条件和自增长序列

    大数据教程分享MySQL数据库约束条件和自增长序列,一.约束(constraint) 约束就是在表上强制执行的一种校验规则,当执行DML操作时,数据必须符合这些规则,如果不符合,将无法执行. 约束的全 ...

  7. dnf台服空白mysql文件夹_关于雨泪大神的架设教程遇到的各种问题的解决办法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 9.关于数据库的部分. 相信不少人在用雨泪大神给的数据库时,用mysql-front连接数据库想修复D点问题,会不停的报错,大意是数据库文件损坏什么的,这 ...

  8. 雨痕大神的《学习笔记系列》

    雨痕大神的<学习笔记>可以在他的GitHub(https://github.com/qyuhen/book)下载,7000+的Star,足以证明认可度. 笔记系列陆陆续续在出版,已出版的有 ...

  9. 刺激战场大神玩绝地求生端游为何秒变菜鸟?网友:这就是差距

    刺激战场作为还原度最高的一款吃鸡手游,玩家非常多,菜鸟玩家和大神玩家也不少.但是很多刺激战场战神级别大神玩家再去玩绝地求生端游为何也会菜到不行?为什么手游比较简单端游比较难呢?今天就给大家分析一下刺激 ...

最新文章

  1. 17 Java面试之css
  2. struts2 action重定向
  3. python下载图片
  4. JSP简单练习-使用JDOM创建xml文件
  5. 服务器中显示存储设备,服务器节点信息集中显示方法、系统、设备及存储介质...
  6. linux目录表及功能n鸟哥,鸟哥linux私房菜_笔记_Linux的文件权限与目录配置
  7. mysql不能创建innodb类型表_MYSQL have_innodb DISABLED无法创建innodb类型的表
  8. 点击图片,AJAX删除后台图片文件
  9. android 通知灯 测试,Android灯光系统通知灯【转】
  10. NUS 联合 Sea AI Lab 发表 Multi-view Pose Transformer,完全端到端学习,超强可扩展性...
  11. 经典卷积神经网络的学习(一)—— AlexNet
  12. 投资学翻译及感悟 Lazy Prices
  13. 全网最详细的openstack安装教程
  14. that、this、these、those的区别
  15. AD7705模数转换芯片工作原理
  16. 第1关:MapReduce综合应用案例 — 电信数据清洗
  17. shell编程文档资料
  18. 阿尔卡特交换机配置_阿尔卡特交换机上常用命令
  19. Java代码实现点赞功能
  20. 使用EFR32作为Zigbee/Thread的sniffer的用法

热门文章

  1. linux stress 工具,Linux压力测试工具stress的参数详解
  2. 在机器学习中,ground truth是什么意思?
  3. topcoder srm 410 div1
  4. 昔日光伏巨头赛维LDK迎“接盘侠” 平煤系深度整合产业链
  5. Ambari安装之部署单节点集群
  6. cascade=CascadeType.ALL的深坑
  7. 网站部署后Parser Error Message: Could not load type 的解决方案
  8. IncrediBuild 加速原理
  9. 局域网远控软件DameWareNT6500
  10. python 之 ------- 协程(微线程)