トップページに戻る
次のSQLパズルへ
前のSQLパズルへ
2-3-23 modを使った数列
SQLパズル
以下の出力結果を作成する。
出力結果
n Val1 Val2 Val3 Val4
-- ---- ---- ---- ----
1 1 -1 4 3
2 2 -2 3 2
3 3 -3 2 1
4 4 -4 1 5
5 0 0 5 4
6 1 -1 4 3
7 2 -2 3 2
8 3 -3 2 1
9 4 -4 1 5
10 0 0 5 4
11 1 -1 4 3
12 2 -2 3 2
13 3 -3 2 1
14 4 -4 1 5
15 0 0 5 4
SQL
select RowNum as n,
mod(RowNum,5) as Val1,
-mod(RowNum,5) as Val2,
-mod(RowNum,5)+5 as Val3,
-mod(RowNum+1,5)+5 as Val4
from all_catalog
where RowNum <=15;
解説
5周期なので5で割った余りを使います。
Val2とVal3とVal4は、
減少して急に増加するから、余りの符号はマイナスにし、
定数として切片を指定してます。
Val4は、
y=f(x)のグラフをX軸に1だけ平行移動させる考え方を使って
Val3をX軸に1だけ平行移動させたと考えて
5-mod(RowNum+1,5)
としてます。