mysql:8883
From: KAWAJI Shinya <KAWAJI Shinya <kawaji@xxxxxxxxxx>>
Date: Tue, 02 Mar 2004 16:04:22 +0900
Subject: [mysql 08883] Re: 整数フィールドの次の空きを探す sql は
かわじ、です。 > > 昇順では2ならば6、6ならば7、7ならば10をみつけるもの。 > > というのは言い換えれば「2より大きくて、かつ一番少ない数字」「6より大き > くて、かつ一番少ない数字」などと考えることが出来ます。 ごめんなさい、全然違いますね、すみません。「空きの数字」の話ですね。 一番簡単のは > 一応、シーケンシャルなフィールドをもった作業テーブルを媒介に > 自己結合を用いる方法を考えたのですが、なかなか効率のいい > やり方がみつかりません。 でいいかと思います。 そのシーケンシャルのテーブルを t_seq として select min(t.id) from t_seq left join t using (id) where t.id > 2 and t_seq.id is null group by t.id; で、いかがでしょう? これをもっと効率よく、という話でしたでしょうか?
8880 2004-03-02 15:16 [柴垣 顕郎 <akiro@xx] 整数フィールドの次の空きを探す sql は 8882 2004-03-02 15:59 ┣[KAWAJI Shinya <kawaj] -> 8883 2004-03-02 16:04 ┃┗[KAWAJI Shinya <kawaj] 8888 2004-03-02 20:50 ┃ ┗[柴垣 <akiro@xxxxxxxx] 8889 2004-03-02 23:40 ┃ ┗[ML account <ml@xxxxx] 8890 2004-03-03 08:47 ┃ ┗[KAWAJI Shinya <kawaj] 8894 2004-03-03 09:28 ┃ ┣[柴垣 <akiro@xxxxxxxx] 8899 2004-03-03 12:54 ┃ ┃┗[Seiji Uramoto <uramo] 8895 2004-03-03 10:11 ┃ ┣[ML account <ml@xxxxx] 8898 2004-03-03 12:35 ┃ ┗[班石悦夫 <madara@xxx] 8900 2004-03-03 14:44 ┃ ┗[ML account <ml@xxxxx] 8885 2004-03-02 16:19 ┣[ML account <ml@xxxxx] 8886 2004-03-02 18:48 ┗[班石悦夫 <madara@xxx]