今回はSQLで数列を扱ってみましょう。
例えば下記のような0から9までの数字が書かれている数列があったとして、
これにより連番を作成してみましょう。
digit
——-
0
1
2
3
4
5
6
7
8
9
例によって自己結合をつかいます。
1 2 3 4 |
SELECT d1.*, d2.* FROM digits d1 , digits d2 |
これだとちょうどd1の0~9に対してd2の0~9を掛け合わせることになりますので00~99の組み合わせがみれます。ただ2列にわかれていますので、これを1列で表記する場合には下記のようにしましょう。
下記SQLだと対象の数列は00~99ではなく1~100になります。
1 2 3 4 5 |
SELECT ( d1.digit + 1 + ( d2.digit * 10) ) AS number FROM digits d1 , digits d2 ORDER BY number ASC |
この方法でいけばもちろん何桁でも作れます。