1

助けが必要です。次のクエリがあります。

SELECT
    l.*,
    d.*,
    i.*,
    DATE_FORMAT(l.date_created, '%d/%m/%Y') as date,
    UNIX_TIMESTAMP(l.date_created) as ts,
    DATE_FORMAT(d.date_deposit_made, '%d/%m/%Y') as date_deposit_made,
    l.commission_introducer
FROM
    tbl_client_commissions_log l
INNER JOIN
    tbl_client_deposits d
INNER JOIN
    tbl_initial_commissions i
ON
    l.fk_deposit_id = d.pk_deposit_id AND i.fk_client_id = d.fk_client_id

WHERE
    d.date_deposit_made BETWEEN ? AND ? AND l.system_fee = '0'

AND
    l.fk_introducer_id = ?

ORDER BY ? LIMIT ? OFFSET ?

問題は、制限を 10 に設定し、オフセットを 0 に設定して開始する場合です。1 行だけを返します。

2 つのテーブル間の内部結合でどのようにページ付けしますか?

ありがとう。

4

1 に答える 1

2

asを試すことができると思いますLIMIT

  LIMIT ?, ?

最初のパラメーターは 0 に設定され、2 番目のパラメーターは 10 に設定され、結果が得られるはずです。

ここのMySQLマニュアルから:

2 つの引数がある場合、最初の引数は返す最初の行のオフセットを指定し、2 番目の引数は返す行の最大数を指定します。最初の行のオフセットは 0 (1 ではない) です。

SELECT * FROM tbl LIMIT 5,10; # 6 行目から 15 行目を取得

于 2012-11-28T17:12:20.723 に答える