mysql выбирает между или что?

#mysql #database

#mysql #База данных

Вопрос:

Я изучаю MySQL, и у меня есть случай, у меня есть такая таблица:

 id, level,        minpost, maxpost
 1, 'Newbie',           0,      99
 2, 'Enthusiast',     100,     499
 3, 'Activist',       500,     749
 4, 'Socialite',      750,     999
  

Итак, как мне узнать, какой «уровень», если у меня 80 сообщений?

Должен ли я использовать select between или, может быть, у вас есть какие-либо предложения по моей проблеме?

ps. Я не могу опубликовать изображение: (

Ответ №1:

 SELECT level FROM <table> WHERE <myLevel> BETWEEN minpost AND maxpost
  

BETWEEN Оператор выполнит следующее:

 expr BETWEEN min AND max
  

Равно:

 (min <= expr AND expr <= max)
  

Ответ №2:

 select *
from the_table
where 80 between minpost AND maxpost
  

Постскриптум: не утруждайте себя публикацией изображений, код SQL (который можно скопировать) намного лучше

Ответ №3:

 select id,level from <table> where minpost >= <minpost> and maxpost <= <maxpost>
  

Комментарии:

1. OP не хочет находить строки между диапазоном значений. Он хочет найти строку, значение которой находится в диапазоне minpost и maxpost.

2. Я не говорю, что это не сработает, но это не то, чего хочет OP, насколько я понимаю его вопрос. Вы предполагаете, что у вас есть 2 значения в where condition <minpost> и <maxpost> , в то время как OP имеет только одно.

3. Я думал, что у него есть эта схема (id, level,,minpost, maxpost) с minpost и maxpost в виде двух столбцов.

4. да, вы правы. Вы меня неправильно понимаете. Ваш запрос должен выглядеть как: select id,level from <table> where post >= minpost and post <= maxpost

Ответ №4:

Да, вы можете использовать BETWEEN.

Это не что иное, как краткая форма value>=minvalue AND value<=maxvalue

Запрос будет выглядеть как:

 select * from `tableName`
   where <valueToCheck> between minpost AND maxpost;