select if
(
(min(student_number)>1) or (max(student_number)<5500),'ok','Check Students'
)
from students;
问问题
53 次
3 回答
1
您应该替换OR
By AND
:
select if
(
(min(student_number)>1) and (max(student_number)<5500),'ok','Check Students'
)
from students;
于 2012-08-07T12:41:16.567 回答
0
尝试这个:
select if(min_sn > 1 or max_sn < 5500, 'ok', 'Check Students')
from (select
min(student_number) as min_sn,
max(student_number) as max_sn
from students) x
这也将表现得相当好。
注意:似乎几乎可以肯定您应该在测试中使用and
而不是。or
想一想...
于 2012-08-07T12:34:23.037 回答
0
如果您想测试它是否在某个范围内,还有第三种选择。之间使用。
select if(student_number between 1 and 5500, 'Ok', 'Check Students') from students;
只要您的表中有任何行 - 这将起作用。如果没有行,那么您将得到一个空集。
于 2012-08-07T12:47:28.420 回答