我从SELECT查询中获得几行数据(有三个例子)。一个是我们的价格,一个是竞争对手的价格,一个是竞争对手的价格。我想添加一个与其他两个价格相比排列出我们价格级别的列;如果我们的价格最低,它会吐出数字1,如果最高的话它会吐出数字。

像这样的东西:

Make | Model | OurPrice | Comp1Price | Comp2Price | Rank | OutOf

MFG1 MODEL1 350 100 500 2 3

MFG1 MODEL2 50 100 100 1 3

MFG2 MODEL1 100 NULL 50 2 2

MFG2 MODEL2 9999 500 NULL 2 2有时候竞争对手的价格如上所述将为NULL,我相信这是我的问题所在。我尝试了一次CASE,它只在一个竞争对手身上起作用,但是当我添加一条AND语句时,它将所有NULL排除在外。通过MySQL查询有没有更好的方法?

SELECT

MT.MAKE as Make,

MT.MODEL as Model,

MT.PRICE as OurPrice,

CT1.PRICE as Comp1Price,

CT2.PRICE as Comp2Price,

CASE

WHEN MT.PRICE < CT1.PRICE AND MT.PRICE < CT2.PRICE

THEN 1 END AS Rank

(CT1.PRICE IS NOT NULL) + (CT2.PRICE IS NOT NULL) + 1 as OutOf

FROM mytable MT

LEFT JOIN competitor1table as CT1 ON CT1.MODEL = MT.MODEL

LEFT JOIN competitor2table as CT2 ON CT2.MODEL = MT.MODEL

ORDER BY CLASS

mysql中select后接数字_MySQL SELECT用于从一组数字中排列一个数字相关推荐

  1. mysql 1100字符后没了_mysql的字符串函数

    时常想一句sql完成某个需求,不想写脚本,总是想'咦,mysql中有没有类似php的这个函数',遂一次总结好,平常多看看,省的每次都临时去查 特别说明:在mysql中对于针对字符串位置的操作,总是从1 ...

  2. java取出字符串中的后四位_[原]Java面试题-将字符串中数字提取出来排序后输出...

    [Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...

  3. 有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?

    有1.2.3.4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数? 思路:题上说三位数,我们得到一个范围100-1000.所以我们先找到100-1000范围内所有由1234组成的三位数,然 ...

  4. mysql查询单表的销售额_MYSQL select语句的单表查询

    MYSQL select语句的单表查询 发布时间:2020-05-29 13:19:48 来源:亿速云 阅读:131 作者:Leah 这篇文章运用了实例代码展示select语句的单表查询的用法,代码非 ...

  5. mysql忘记命令后半部分_MySQL常用命令

    连接MyQL mysql [-h host_name] [-u user_name][-P pasword] 在dos窗口中进入mysql的bin文件夹,输入一下命令: c:\mysql\bin> ...

  6. mysql 查询相同字段的数据_MySql 几种查询相同字段中相同数据,及删除相同字段的相同数据的方法...

    比如现在有一人员表  (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来 select   p1.*   from   persons   p1,persons   ...

  7. 我下载的mysql解压后没有安装_mysql 解压版安装配置方法教程

    1.首先,你要下载MySQL解压版,下载地址 虽然mysql都有8.0了,但这里我要安装的是mysql5.7,其他版本方法类似 2.解压安装包,根据自己的喜好选择路径,我选择的路径是D盘,因此MySQ ...

  8. mysql编译安装后目录空_MySQL源码安装完成后修改安装路径启动问题

    在Linux上源码编译安装完mysql后,又将安装的路径进行了修改,但是发现在设置后环境变量后启动报错,如下: [root@HServer_03 var]# mysqld_safe --user=my ...

  9. linux mysql 数据目录迁移后不生效_mysql 本地数据目录迁移

    需求:mysql的原目录没空间了,需要在本机中迁移mysql目录 mkdir -p /home/mysql3306/data mkdir -p /home/mysql3306/log mkdir -p ...

最新文章

  1. 存储器芯片国产化布局加速 数千亿投资欲打破进口依赖
  2. python猫狗大战讲解_tensorflow实现猫狗大战(分类算法)
  3. 自学前端,一天学4个小时左右,能到什么水平?
  4. PHP的 Warning: Cannot modify header information - headers already sent by警告
  5. 大智慧 软件 开发语言_智慧工厂培训软件开发流程篇
  6. 三维球体换算到二维_单图像三维重建、2D到3D风格迁移和3D DeepDream
  7. 首次曝光!支付宝支付加密规则梳理,写的太好了!
  8. 关于input type=hidden/标签的记录
  9. 台式机前置耳机插孔没声音(window7系统设置)
  10. 【动画消消乐|CSS】调皮逃跑的小方块 077
  11. zoom下载官网android最新,Zoom手机版app下载安装包-Zoom手机版安卓软件下载v5.0-后壳下载...
  12. 【云原生之Docker实战】使用Docker部署OpenKM文档管理系统
  13. 【03】制作第一个zblog模板第三期,完成对接首页所有调用内容,将所有页面拆分公共页面和独立页面
  14. 如何运用时间管理四象限法则去管理时间?
  15. windows server 12 r2用Hyper-v安装centos7
  16. aria2 linux 编译,Centos 7 编译安装Aria2
  17. 解决win10和ubuntu双系统下win10时间偏差的问题
  18. 道家·老子的算法思想分析
  19. 如何使用OpenDNS有效解决DNS域名劫持?
  20. 引入腾讯地图,电脑内存CPU占比升高,卡顿问题

热门文章

  1. php curlopen,php自动提交表单的方法(基于fsockopen与curl)
  2. 32树莓派_树莓派推出8GB内存版本
  3. Servlet ---- cookie session
  4. 浪潮通信收入_浪潮获2019大数据“星河(Galaxy)”奖
  5. 线程池拒绝策略-RejectedExecutionHandler
  6. Double值保留两位小数的四种方法
  7. springboot项目启动成功后执行一段代码的两种方式
  8. java 中Double类型转换为百分比格式
  9. Android开发笔记(九十三)装饰模式
  10. Xshell上传文件【转】