勉強したことのメモ

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のクエリキャッシュの設定方法

MySQLでのクエリキャッシュ設定及び設定項目について以下にメモ。   ...

MySQLでROW_NUMBER関数を使用してグループ毎に連番を設定する方法

以前にMySQLでオートインクリメントを使用せずにグループ毎に連番を設定する方法 ...

MySQLで「Uncaught mysqli_sql_exception: BIGINT ~~」エラーの対応方法

MySQLにて「Uncaught mysqli_sql_exception: B ...

MySQLにてdatetime型のカラムを整形し「年月日のみ形式」または「秒のみ省いた形式」で表示する方法

MySQLにてdatetime型のカラムに登録日時等を格納しており、管理画面側で ...

MySQLでテーブルのカラム名やカラムの型等、詳細情報を取得する方法

MySQLでテーブルのカラム名やカラムの型等、詳細情報を取得する方法をメモ。 & ...