勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLで歯抜けになっているint型の数値を取得する

   2014/05/22  MySQL

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でスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCP ...

MySQLでCSVから列を指定してインポート

MySQLでCSVからデータをインポートしたかった。またエクセル風にいうA列はi ...

MySQLで日時や日付で範囲検索する際に動作速度を向上させる方法

MySQLでログ系等の大量にデータが格納されているテーブルから日時や日付で範囲検 ...

MySQLにて直近のクエリで発行されたAUTO_INCREMENTの値を取得する方法

やりたかったことは「MySQLで新規登録(INSERT)なら、登録時のAUTO_ ...

MySQLでtext型カラムに入っている数値をint型としてソートする

MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...