• ベストアンサー

mysqlの検索結果からある範囲の行数を取り出すには

mysqlの検索結果からある範囲の行数を取り出すにはどうすればいいのでしょうか?たとえば検索結果から100~200行の間の行数を取り出すには、   ・   ・ $count=1; $result=mysql_query($sql); $rows=mysql_num_rows($result); while ($row=mysql_fetch_array($result)) { ・・・・ if( $count <= 99 ){ $count++; continue;} として99行目まで読み飛ばす処理をする以外に方法がありますか。 もっと効率よく取り出す方法があったら教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#191496
noname#191496
回答No.1

はじめまして。 MySQLの検索結果からある範囲の行数を取り出す方法ですが、 PHPでの処理ではなくMySQLの文章でもよろしいでしょうか? 的外れでしたら申し訳ありませんが、 そっちが手っ取り早いかなぁとおもったので、 以下に大まかなMySQLでのSQL文を記載します。 SELECT * FROM table_name ORDER BY column_name desc LIMIT 100 100 以上のようにすれば、 ORDER BY句で並び替えをした列を元に、 100行目から100行とってくるはずです。 ちょっと不安なので参考になりそうなURLを 付けておきます。

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_10.htm
bobo_0827
質問者

お礼

有難うございました。とても、すっきりしたプログラムになりました。

その他の回答 (1)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

bool mysql_data_seek ( resource result, int row_number ) この関数で、お望みの行へjumpできますが、 0-99行目は利用しないのであれば、サーバーへの負荷を考えると、No1の方のご回答のように、SQL文の方で limit で取り出す行数を減らした方が、動作時間も短縮するし、一時利用メモリも少なくて済みます。

bobo_0827
質問者

お礼

回答有難うございました。 目的を達成することができました。

関連するQ&A

専門家に質問してみよう