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

mysql:8882

From: KAWAJI Shinya <KAWAJI Shinya <kawaji@xxxxxxxxxx>>
Date: Tue, 02 Mar 2004 15:59:38 +0900
Subject: [mysql 08882] Re: 整数フィールドの次の空きを探す sql は

かわじ、です。


> たとえば、1、3、4、5、8、9、といったような、順番には並んでいるが
> 値に跳びのあるフィールドを持つテーブルがあって、ある数字から
> 次のあいている数字を探す、というものです。

リレーショナルデータベースでは、「順番」という概念よりも「集合」という
概念のほうを念頭に置くほうが理解が早く進むと思います。


で、件の問題ですが、実際に何をされようとしているのか分からないのですが、

> 昇順では2ならば6、6ならば7、7ならば10をみつけるもの。

というのは言い換えれば「2より大きくて、かつ一番少ない数字」「6より大きく
て、かつ一番少ない数字」などと考えることが出来ます。

select min(id) from table_a where id > 2;
select min(id) from table_a where id > 6;


答えになっていますでしょうか?(違う気もしますが)


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

      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]