1

私はPHPとMySQLを初めて使用します。私はphpスクリプトを書き込もうとしていますが、テーブルからの行の選択に固執しています

うまく機能するコードは次のとおりです。

$q_pages = $wpdb -> prefix . 'q_pages_table';

$q_kws = $wpdb->prefix . 'q_kws_table';

$sql = 'SELECT a1.post_id, a1.kw_id, a2.kw_name ' +
       'FROM ' . $q_pages . ' as a1 ' +
       'LEFT JOIN ' . $q_kws . ' as a2 ON (a1.kw_id = a2.id)' + 
       'WHERE a1.draft_id = 4';

3番目のコマンドは、2つのテーブルでkw_idとidが一致する場合、およびdraft_id = 4の場合に、変数$q_kwsから変数$q_pagesに列を選択して結合することです。

$ sql変数の行数が多いため(3000行)、$ sqlを3つの変数に分割します。各変数には1000行が含まれているため、後で各変数を個別に処理できます。

何か提案はありますか?

ありがとうございました

4

3 に答える 3

1

特定の範囲を選択するにはlimit [start number], [# to select]、次のように最初の1000行を選択するように使用する必要があります。

select [your select stuff]
limit 0, 1000

2つ目は次のようになります。

select [your select stuff]
limit 1000, 1000

そして3番目は

select [your select stuff]
limit 2000, 1000

制限の最初の数字はそれが始まる行であり、2番目の数字は選択されるその行の後の行の数です。

于 2012-04-27T08:55:37.437 に答える
0
You can use limit in the query to retrieve a specific number of rows .

something like 
$start=0;
$end=1000;

$sql = 'SELECT a1.post_id, a1.kw_id, a2.kw_name ' +
       'FROM ' . $q_pages . ' as a1 ' +
       'LEFT JOIN ' . $q_kws . ' as a2 ON (a1.kw_id = a2.id)' + 
       'WHERE a1.draft_id = 4 limit ".$start.",".$end."'; 
于 2012-04-27T08:57:08.277 に答える
0

例えば:

select * from table where rownum < 1000
于 2012-04-27T08:58:38.123 に答える