проверить значения в MySQL, но в определенном диапазоне

0

Я новичок в MySQL, и я хочу выполнить проверку значений, но в пределах диапазона, у меня есть это:

SELECT t1.width, COUNT( t1.width ) 
FROM test t1
INNER JOIN (
  SELECT t2.width
  FROM test t2
  GROUP BY width
  HAVING COUNT( t2.width ) >1
)t2 ON t1.width BETWEEN (t2.width +1000) AND (t2.width -1000)
ORDER BY t1.width

Поэтому я хочу проверить, есть ли два значения "ширина" с разницей +1000 или -1000. Результат всегда равен нулю. не могли бы вы рассказать мне, что не так с запросом?

Теги:

1 ответ

0

Я не совсем понимаю, каковы ваши данные. Как я понимаю, вы хотите узнать, имеет ли два значения из двух столбцов конкретную разницу, то есть первое значение в первом столбце равно 2000, а первое значение во втором столбце равно 1000, так как существует разница в 1000 вам хочу, чтобы это было отмечено. Вы можете использовать функцию CASE (подробнее см. Https://www.w3schools.com/sql/func_mysql_case.asp).

Скажем, у вас есть один столбец с именем width_1 который состоит из разных значений ширины, а второй столбец с именем width_2 который также состоит из разных значений ширины, все они содержатся в таблице с именем width_table, вы можете использовать следующее:

SELECT
CASE
    WHEN width_1 - width_2 = 1000 OR width_1 - width_2 = -1000 THEN TRUE
    ELSE FALSE
END AS column_name
FROM width_table ;

Это создаст столбец, чьи записи будут либо 1, если разница в точности +1000 или -1000, или 0, если разница - это что-то еще.

Если вы хотите проверить, существует ли разница между 1000 и -1000, вы можете использовать следующее:

SELECT
CASE
    WHEN width_1 - width_2 BETWEEN -1000 AND 1000 THEN TRUE
    ELSE FALSE
END AS column_name
FROM width_table ;
  • 0
    Я хочу увидеть, если два значения из одного столбца имеют конкретную разницу
  • 0
    Извините, я неправильно понял вопрос. К сожалению, я не уверен, как это сделать. Я нашел этот вопрос, заданный ранее о поиске разницы между двумя значениями в столбце, надеюсь, это поможет stackoverflow.com/questions/14857159/…

Ещё вопросы

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