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

mysql:6350

From: Satoshi Komori <Satoshi Komori <satoshi@xxxxxxxxxx>>
Date: Mon, 7 Oct 2002 22:25:05 +0900
Subject: [mysql 06350] Re: servlet では order by rand() ができない?


2002/10/07 19:44:57 +0900に"城" <sora_iro@xxxxxxxxxx>さんに頂いた
「[mysql 06347] Re: servlet では order by rand()   ができない?」への返事です。

komori と申します。

jdk1.3.0_02、win2K、mysql3.23.49で試しましたが、城さんの意図する
結果が出ました。

>動かない場合は
>やはりJava側で処理するしかないのですか?

そうなってしまいますよねぇ...無駄な処理なんで嫌ですよねぇ...。

>僕は下のように処理しています。
>おかしなところありましたら指摘お願いします。
>
>別の処理で 0<num<レコード数 のランダムな数numを取得して
>int i = 0;
>while(rs.next()){
>  if(i == num){
>    String aisatsu = rs.getString("tango");
>    break;
>  }
>  i++;

ループ回数が決まっているのであれば、

for(int i=1;i<num;i++){
  rs.next();
}
String aisatsu = rs.getString("tango");

の方が、無駄なif文の比較回数が減るのではないでしょうか?


なお、蛇足ですが、

>[06339]> rs.next();
>[06339]> String resTag = rs.getString("tango");
>の両側をループで囲っていないのは不思議だなと感じたのです。

城さんのプログラムで正しいと思います。
このサンプルで実行されているSQLは1件しか戻りがないので、
1回だけnext()してやればOKなんです。whileで括られていなく
てOKです。
というわけで、サンプルプログラムのlimitの使い方も城さんの
意図したもののはずですよ。>山下さん
# 「単一」という日本語の解釈の問題ではないでしょうか?

以上
---

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

      6339 2002-10-07 06:20 ["城" <sora_iro@xxxxx] servlet では order by rand() ができない?
      6343 2002-10-07 18:27 ┣["Takashi Yamashita" ]                                       
      6344 2002-10-07 18:30 ┃┗["Takashi Yamashita" ]                                     
      6347 2002-10-07 19:44 ┃ ┗["城" <sora_iro@xxxxx]                                   
      6348 2002-10-07 21:17 ┃  ┣["Takashi Yamashita" ]                                 
->    6350 2002-10-07 22:25 ┃  ┗[Satoshi Komori <sato]                                 
      6352 2002-10-08 07:12 ┃   ┗["城" <sora_iro@xxxxx]                               
      6353 2002-10-08 12:06 ┃    ┗[Takeyuki Miyagawa <m]                             
      6361 2002-10-08 17:54 ┃     ┗["城" <sora_iro@xxxxx]                           
      6362 2002-10-08 18:15 ┃      ┗["kosugi" <kosugi@xxx]                         
      6346 2002-10-07 19:05 ┣["kosugi" <kosugi@xxx]                                       
      6349 2002-10-07 21:26 ┣["Takashi Yamashita" ]                                       
      6363 2002-10-08 18:59 ┣[<rio-t@xxxxxxxxxx>  ]                                       
      6380 2002-10-09 21:42 ┃┗["城" <sora_iro@xxxxx]                                     
      6382 2002-10-09 22:58 ┗["小川 修" <shuogawa]                                       
      6392 2002-10-10 13:17  ┗["kosugi" <kosugi@xxx]                                     
      6424 2002-10-13 00:28   ┗["shuogawa" <shuogawa]                                   
      6425 2002-10-14 00:05    ┗[Tomoyuki Ishino <ish]