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

範囲内にあることをテストする場合は、3 番目の選択肢があります。間で使用します。

select if(student_number between 1 and 5500, 'Ok', 'Check Students') from 学生;

テーブルに行がある限り、それは機能します。行がない場合は、空のセットが取得されます。

于 2012-08-07T12:47:28.420 に答える