- ベストアンサー
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行目まで読み飛ばす処理をする以外に方法がありますか。 もっと効率よく取り出す方法があったら教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
はじめまして。 MySQLの検索結果からある範囲の行数を取り出す方法ですが、 PHPでの処理ではなくMySQLの文章でもよろしいでしょうか? 的外れでしたら申し訳ありませんが、 そっちが手っ取り早いかなぁとおもったので、 以下に大まかなMySQLでのSQL文を記載します。 SELECT * FROM table_name ORDER BY column_name desc LIMIT 100 100 以上のようにすれば、 ORDER BY句で並び替えをした列を元に、 100行目から100行とってくるはずです。 ちょっと不安なので参考になりそうなURLを 付けておきます。
その他の回答 (1)
- hrm_mmm
- ベストアンサー率63% (292/459)
bool mysql_data_seek ( resource result, int row_number ) この関数で、お望みの行へjumpできますが、 0-99行目は利用しないのであれば、サーバーへの負荷を考えると、No1の方のご回答のように、SQL文の方で limit で取り出す行数を減らした方が、動作時間も短縮するし、一時利用メモリも少なくて済みます。
お礼
回答有難うございました。 目的を達成することができました。
お礼
有難うございました。とても、すっきりしたプログラムになりました。