仕組みは理解してLIMIT
いますが、 の前にデータベース クエリの開始点を設定する方法があるかどうか知りたいですLIMIT
。これは可能ですか?そして、私はこれで理にかなっていますか?
質問する
1922 次
5 に答える
5
于 2013-01-02T04:59:56.520 に答える
4
SELECT * FROM `table` LIMIT [offset], [count]
4 つのページ (1、2、3、および 4) があり、1 ページあたり 10 件の結果を表示したい場合は、次のようにします。
ページ_1 (0 - 10)
SELECT * FROM `table` LIMIT 0, 10
ページ_2 (10 - 20)
SELECT * FROM `table` LIMIT 10, 10
ページ_3 (20 - 30)
SELECT * FROM `table` LIMIT 20, 10
ページ_4 (30 - 40)
SELECT * FROM `table` LIMIT 30, 10
于 2013-01-02T05:10:33.217 に答える
2
SELECT * FROM MyTable LIMIT [startpoint], [row_count]
開始点はオプションで、デフォルトは最初の行です。開始点を指定すると、レコードを n 回スキップし、[開始点] からカウントを開始します。
SELECT * FROM MyTable LIMIT 5, 15
これにより、5 番目のレコードから始まる 15 のレコードが表示されます。
SELECT * FROM MyTable LIMIT 7
と同等ですSELECT * FROM MyTable LIMIT 0,7
于 2013-01-02T05:07:46.000 に答える
0
これから学ぶデモを提供します
SELECT * FROM `your_table` LIMIT 0, 10
これにより、データベースからの最初の 10 件の結果が表示されます。
于 2013-01-02T05:02:39.487 に答える
0
正しく理解できたかどうかわかりませんが、試してみます。クエリで変数バインディングを使用することを検討したい場合があります。このようにして、変数で制限が設定されます。以下の PDO を使用したコード例:
class englishTable {
private $selectAllWithLimit;
public function __construct($db) {
$this->selectWithLimit = $db->prepare('SELECT id, english, french FROM english LIMIT :start, :limit');
public function selectWithLimit($start, $limit) {
$this->selectWithLimit->bindValue(':start', $start, PDO::PARAM_INT );
$this->selectWithLimit->bindValue(':limit', $limit, PDO::PARAM_INT );
$this->selectWithLimit->execute();
return $this->selectWithLimit->fetchAll();
}
}
$start = 5;
$limit = 7;
$words = $englishTable->selectWithLimit($start, $limit);
これがお役に立てば幸いです。明けましておめでとうございます。
于 2013-01-02T05:05:18.790 に答える