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

mysql:7881

From: HOLA <HOLA <hola@xxxxxxxxxx>>
Date: Sun, 08 Jun 2003 12:27:06 +0900
Subject: [mysql 07881] ランダム行の取得について

いつもロムさせていただいております。
嶋田です。

tableからランダムな行を取り出すのにどのようにしていいのか分からず今回お
ききしたいのですが

CREATE TABLE problem (
  id mediumint(5) NOT NULL auto_increment,
  key_no varchar(4) NOT NULL default '',
  no tinyint(1) NOT NULL default '0',
  problem text NOT NULL,
  PRIMARY KEY  (problem_id)
) TYPE=MyISAM;

というテーブルがあったとします。

今まで私は、

$id = rand(1,100);

$row = (mysql_fetch_array(mysql_query(SELECT * FROM problem WHERE
id='$id')));

のようなことをやっていたのですが、当然削除等しますのでidに歯抜けが生じて
きて、無いデータは取得できません。

で、自分ではこのようにしたらよいのではないかと思うのですが、何か他によい
やり方というのは有るのでしょうか

$max = mysql_num_rows(SELECT * FROM problem);
$id = rand(1,$max);

$row = (mysql_fetch_array(mysql_query(SELECT * FROM problem LIMIT
$id,1)));

是非参考にさせていただきたいと思いますので是非よろしくお願いします。


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

->    7881 2003-06-08 12:27 [HOLA <hola@xxxxxxxxx] ランダム行の取得について                
      7882 2003-06-08 12:44 ┗[Sadachika Shinohara ]                                       
      7883 2003-06-08 21:48  ┗[HOLA <hola@xxxxxxxxx]                                     
      7885 2003-06-08 22:20   ┗[<sugita@xxxxxxxxxx> ]                                   
      7887 2003-06-08 22:48    ┗[HOLA <hola@xxxxxxxxx]                                 
      7888 2003-06-09 08:47     ┗["Tatsuya Kondo" <kon]