FC2ブログ

1日3タックルを目指して頑張ります。 ロリ巨乳が大好きです。 > 今日の3タックルTopへ

Top /  若干エンジニアらしい話 /  連続しない番号の最小の空き番を取るSQL
« お試し  |  まだ火曜なのか… »

連続しない番号の最小の空き番を取るSQL

 2010/02/08 (Mon) -  カテゴリ:  若干エンジニアらしい話

連日の疲れで爆睡してた。夕飯は近所の居酒屋に行った。スジコうめぇえぇぇ。厚切りベーコンステーキもうますぐる。今日はオススメの刺身がなかったのがちょっと切なかったけど、時期的にしょうがないのかねぇ。ダイエットってどんな都市伝説だよ。

SQL で不連続な値の最小の空き番を取る

ひょんなことから、SQLで歯抜けのあるデータのうち最小の空き番を取ることが必要になった。

いろいろググったりして悩んだけど、最終的に解決したのでとりあえずメモ 最低限の条件は以下のとおり

  • DBMS は PostgreSQL (バージョンは忘れた)
  • 最小値は 1

んで、肝心の SQL は↓

-- col が最小の空き番を取りたいカラム
SELECT MIN(t1.seq) FROM
  (SELECT col + 1 AS seq FROM table UNION ALL SELECT 1) AS t1
WHERE NOT EXISTS
  (SELECT col FROM table t2 WHERE t1.seq = t2.col)

ただSQLだけ書いても後で意味不明になりそうなので、考え方のメモも残しておく。

010207.png

性能とかその辺はの話はいまいちよく分からん。

あと Oracle だったらもうちょっと色々やり方があるみたい。

« お試し  | トップへ |  まだ火曜なのか… »

コメント

Comment Form
このエントリへコメントを書く
(任意)
(任意)
(任意)
(必須) HTML のタグは使用できません
(AAを貼るときは、[太字] ココにAAを書く [/太字] のように 太字 タグで括るときれいになります。左下の[太]ボタンをクリックして「ずれないAA 小」 というところにAAを書いてください。斜体、下線、打消 で括ってもずれないAAにすることができます。)
http:// は禁止ワードです。
(任意) ID生成と編集に使用します

コメントのプレビューのようなもの

ここにプレビューが出ます。

トップへ

トラックバック

http://3tackle.blog55.fc2.com/tb.php/356-716f47b8

最新記事
カテゴリ
最新コメント
最新トラックバック
月別アーカイブ
カウンタ
_
カレンダー
09 | 2019/10 | 11
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
これはやべぇ

インターネッツの設定をしてあげたついでに、接続確認と称してこのブログを開いたら、気になるあの娘が検索したアイテムがwww

万が一アダルトグッズが表示されたりしたらと思うと股間が熱くなるな。

とか妄想してたけど、インターネッツの設定をしてあげた直後に検索の履歴が残ってるわけないか
(´・ω・`)
にしても使い方によってはこの機能は凶悪だな。

プロフィール

タックル

Author:タックル
三度のメシより大ライスが好きなエンジニアです。
焼肉屋に行ったら最初の一杯は大ライスで乾杯! 全然関係ないけど食堂のカレーなら4杯は軽いよ。

ちなみにロリ巨乳は大ライスより好き!

プライベートでタックルされてくれるロリ巨乳のお友達を24時間365日募集中です。

エントリーの内容はタックルの日々の生活について多少脚色しながら面白おかしく書いている限りなくノンフィクションに近いフィクションです。

嘘を嘘と見抜けない人は(ry

Webサービス
フィードメーター - 今日の3タックル あわせて読みたいブログパーツ
タックル会
個人的なリンク