表行字段的Mysql if else语句
Posted
技术标签:
【中文标题】表行字段的Mysql if else语句【英文标题】:Mysql if else statement for table row field 【发布时间】:2018-01-13 20:22:41 【问题描述】:我有一张这样的桌子
|标识 |启用 |分钟 |最大 | |------------------------------------| |1 |真实 | 4 | 10 | |2 |假 | 5 | 23 | |3 |真实 | 6 | 45 | |------------------------------------|我想要什么?
-
选择“min”和“max”在 2 到 30 之间的行。
上述条件仅适用于“启用”字段为 true 的行,不适用于 false
输出
鉴于上述输出的条件必须如下所示
|标识 |启用 |分钟 |最大 | |------------------------------------| |1 |真实 | 4 | 10 | |------------------------------------|抱歉语法错误
【问题讨论】:
在TINYINT
列中使用 1 或 0 可能比使用字符串类型的“布尔”值更好。然后 mysql 可以执行 WHERE enable
而不必执行笨重的 WHERE enable='true'
。
【参考方案1】:
SELECT ID, ENABLE, MIN, MAX
FROM
YOUR_TABLE
WHERE ENABLE = 'TRUE' AND MIN >= 2 AND MAX <= 30;
【讨论】:
感谢您的回答,但我希望这个条件“MIN >= 2 AND MAX = 2 AND MAX 通过将使用AND
的ENABLE = 'TRUE'
条件与MIN 和MAX 条件相结合,它们将仅适用于具有TRUE
值的记录。
看这里的案例。根据排序规则设置,TRUE
可能与 true
不同。以上是关于表行字段的Mysql if else语句的主要内容,如果未能解决你的问题,请参考以下文章
mysql - ORDER BY 语句中的 IF...ELSE 或 CASE
PHP implode 爆炸逗号分隔值用于 if else 语句