2

仕組みは理解してLIMITいますが、 の前にデータベース クエリの開始点を設定する方法があるかどうか知りたいですLIMIT。これは可能ですか?そして、私はこれで理にかなっていますか?

4

5 に答える 5

5

LIMIT開始点と期間の 2 つの値を受け入れます。

更新 1

于 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 に答える