MySQL大于IN

时间:2014-01-27 03:28:06

标签: mysql comparison simplify

目前我必须写一个像这样的查询

SELECT * FROM table WHERE value1 > 5000 OR value2 > 5000 OR value3 > 5000 OR value4 > 5000

如您所见,将5000与所有这些列进行比较。理想情况下,您可以编写像这样的查询

SELECT * FROM table WHERE 5000 GREATER(value1,value2,value3,value4)

我知道你可以做到

SELECT * FROM table WHERE 5000 IN(value1,value2,value3,value4)

但是,测试平等,不超过。

有没有办法做我正在寻找的事情?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

SELECT *
FROM table
WHERE greatest(value1, value2, value3, value4, value5) > 5000 ;

作为一个注释,这不是完全相同。如果任何值为NULL,则返回NULL,将其视为false。 or版本将跳过NULL个值。