【问题标题】:Mysql if else statement for table row field表行字段的Mysql if else语句
【发布时间】:2018-01-13 20:22:41
【问题描述】:

我有一张这样的桌子

|标识 |启用 |分钟 |最大 | |------------------------------------| |1 |真实 | 4 | 10 | |2 |假 | 5 | 23 | |3 |真实 | 6 | 45 | |------------------------------------|

我想要什么?

  1. 选择“min”和“max”在 2 到 30 之间的行。
  2. 上述条件仅适用于“启用”字段为 true 的行,不适用于 false

输出

鉴于上述输出的条件必须如下所示

|标识 |启用 |分钟 |最大 | |------------------------------------| |1 |真实 | 4 | 10 | |------------------------------------|

抱歉语法错误

【问题讨论】:

  • TINYINT 列中使用 1 或 0 可能比使用字符串类型的“布尔”值更好。然后 MySQL 可以执行 WHERE enable 而不必执行笨重的 WHERE enable='true'

标签: php mysql sql


【解决方案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
  • 通过将使用ANDENABLE = 'TRUE' 条件与MIN 和MAX 条件相结合,它们将仅适用于具有TRUE 值的记录。
  • 看这里的案例。根据排序规则设置,TRUE 可能与 true 不同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
  • 2015-05-16
  • 2019-04-09
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
相关资源
最近更新 更多