[前][次][番号順一覧][スレッド一覧]

mysql:8880

From: 柴垣 顕郎 <柴垣 顕郎 <akiro@xxxxxxxxxx>>
Date: Tue, 02 Mar 2004 15:16:21 +0900
Subject: [mysql 08880] 整数フィールドの次の空きを探す sql は

 SQLを使い始めた、という段階なのですが、次のようなレコードを
検索する効率のいいSQLはないかと、考えているところです。

たとえば、1、3、4、5、8、9、といったような、順番には並んでいるが
値に跳びのあるフィールドを持つテーブルがあって、ある数字から
次のあいている数字を探す、というものです。昇順では2ならば6、
6ならば7、7ならば10をみつけるもの。降順では10ならば7、
7ならば6、6ならば2、2ならば0、0ならば該当なし、
といった検索です。

 一応、シーケンシャルなフィールドをもった作業テーブルを媒介に
自己結合を用いる方法を考えたのですが、なかなか効率のいい
やり方がみつかりません。

 いろいろな場面で直面しそうな問題だと思うのですが、何かうまい
方法はないでしょうか。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

 柴垣 akiro@xxxxxxxxxx

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



[前][次][番号順一覧][スレッド一覧]

->    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]