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のトリガーを使用して特定のテーブルの操作を行った際に別テーブルにログを残す方法
MySQLにトリガーという機能があるらしくどのようなものか調べたところ、事前に「 ...
-
-
MySQLで同一サーバーの異なるDB内のテーブルをJOINする
同一のMySQLサーバーでdb1データベースのtable1テーブルと、db2デー ...
-
-
MySQLで全角半角を区別せずに検索する方法(collate utf8_unicode_ci)
あるシステムでMySQLの検索時に「WHERE test_column coll ...
-
-
異なるVPS間でMySQLの接続を行う方法
異なるVPS間でMySQL接続を行った際のメモ。 目次1 対応方法 ...
-
-
MySQLでランダムにデータを取得しつつページング機能も実装する方法
MySQLからデータを持ってくる際にランダムな表示を行ってほしいと言われた。ただ ...