当前位置:  开发笔记 > 后端 > 正文

如何在MySQL If语句中有一个范围?

如何解决《如何在MySQLIf语句中有一个范围?》经验,为你挑选了1个好方法。

我正在尝试制作一个计算会员支出的选择.

我的方法非常简单.

SELECT
 month(payments.timestmap)
,sum(if(payments.amount>=29.95,4,0)) As Tier4
,sum(if(payments.amount>=24.95<=29.94,3,0)) As Tier3
,sum(if(payments.amount>=19.95<=24.94,2,0)) As Tier2
FROM payments
GROUP BY month(payments.timestamp)

以上不起作用,因为MySQL没有评估条件的第二部分.顺便说一下,它不会导致语法错误,选择将返回结果.

在上面之前我尝试了我所假设的工作,就像" amount between 24.94 AND 29.94"这导致了一个错误.所以我试过" amount >= 24.94 AND <= 29.94"

那么可以在MySql中使用IF进行范围比较吗?



1> ConroyP..:

表达式的第二部分在您使用时评估AND-

SELECT
 month(payments.timestmap)
,sum(if(payments.amount>=29.95,4,0)) As Tier4
,sum(if(payments.amount>=24.95 AND payments.amount<=29.94,3,0)) As Tier3
,sum(if(payments.amount>=19.95 AND payments.amount<=24.94,2,0)) As Tier2
FROM payments
GROUP BY month(payments.timestamp)

我不完全确定该between条款为什么不适合你,但上面应该做的工作.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有