Mysql if else оператор для поля строки таблицы

0

У меня есть таблица, подобная этой

|id | enable | min | max |
|------------------------|
|1  | true   | 4   |  10 |
|2  | false  | 5   |  23 |
|3  | true   | 6   |  45 |
|------------------------|

Чего я хочу?

  1. выберите строки, которые "min" и "max" находятся между 2 и 30.
  2. Вышеприведенное условие применяется только к строкам, где поле "enable" истинно не для false

выход

Учитывая, что условие вышеприведенного вывода должно выглядеть ниже


|id | enable | min | max |
|------------------------|
|1  | true   | 4   |  10 |
|------------------------|

Извините за плохую грамматику

  • 0
    Вероятно, лучше использовать 1 или 0 в столбце TINYINT вместо строкового «логического» значения. MySQL может затем WHERE enable вместо того, чтобы делать неуклюжий WHERE enable='true' .
Теги:

1 ответ

3
SELECT ID, ENABLE, MIN, MAX
FROM
YOUR_TABLE
WHERE ENABLE = 'TRUE' AND MIN >= 2 AND MAX <= 30;
  • 0
    спасибо за ответ, но я хочу, чтобы это условие «MIN> = 2 AND MAX <= 30» выполнялось только для истинных полей «enable», а не для false, сначала проверьте, является ли поле «enable» истинным, затем установите MIN> = 2 AND MAX <= 30 условие
  • 0
    Комбинируя условие ENABLE = 'TRUE' с использованием AND с условиями MIN и MAX, они будут применяться только к записям со значениями TRUE .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню