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でデータベース単位とテーブル単位のデータサイズ(容量)の調べ方
VPSの各種ファイルを整理している際に「MySQLも不要なデータを削除すればいい ...
-
-
WordPressサイトのロードアベレージが高い際の対応方法
あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...
-
-
MySQLでdatetime型にもインデックスを使用して高速化を図る方法
ログ関連のデータを格納するテーブルがあり、集計を行う際に非常に時間がかかった。レ ...
-
-
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...
-
-
MySQLで苗字(姓)と名前(名)のカラムを結合させ検索する方法
MySQLで名字(姓)と名前(名)をそれぞれ別カラムに格納しているデータベースが ...