0
select if
(
(min(student_number)>1) or (max(student_number)<5500),'ok','Check Students'
)
from students;
4

3 回答 3

1

您应该替换ORBy 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 回答