MySQLで歯抜けになっているint型の数値を取得する
2014/05/22
MySQLで歯抜けになっているシーケンス番号を
取得したいケースがあった。
■ソース
SELECT MIN(seq + 1) AS min_no
FROM test_table a
WHERE NOT EXISTS (
SELECT seq
FROM test_table b
WHERE a.seq + 1 = b.seq
)
■参考サイト
http://okwave.jp/qa/q6093210.html
■その他
EXISTSて何? となったので調べたところ、
結果が存在するか調べる、というものらしい。
http://www.i2kt.com/dbms/sqlref/operator/logic/sql_02030501.html
NOTがついているから、抜け番があった際に
真になって、その抜け番が抽出されているみたい。
関連記事
-
-
MySQLとPHPの「image-comparator」ライブラリを使用して類似画像検索を実装する方法
先日PHPで画像を比較して類似度を算出する「image-comparator」ラ ...
-
-
MySQLで「server has gone~」というエラーの対応方法
MySQLで「MySQL server has gone away」というエラー ...
-
-
Podmanで導入したデータベース(MariaDB)用コンテナのチューニングに関する設定方法
先日Podmanでデータベース(MariaDB)用コンテナを導入したが、当該コン ...
-
-
MySQLにてSELECT時にdate型のカラムから和暦を計算し表示する方法
MySQLにdate型のカラムに誕生年月日が格納されており、そこから和暦を計算し ...
-
-
MySQLのREGEXPで半角記号を検索したい場合の対応方法
MySQLのREGEXPで半角記号を検索したい場合\\を付けてエスケープしないと ...