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';

第三个命令是从变量 $q_kws 中选择列并将列连接到变量 $q_pages 如果在 2 个表中的 kw_id 和 id 之间存在匹配并且当 draft_id = 4 时

由于 $sql 变量中有大量行(3000 行),我想将 $sql 分解为 3 个变量,每个变量包含 1000 行,以便稍后我可以分别处理每个变量。

有什么建议吗?

谢谢

4

3 回答 3

1

要选择特定范围,您必须limit [start number], [# to select]在您的情况下使用,您可以选择前 1000 行,例如:

select [your select stuff]
limit 0, 1000

第二个是:

select [your select stuff]
limit 1000, 1000

第三个是

select [your select stuff]
limit 2000, 1000

限制中的第一个数字是它开始的行,第二个数字是该行之后(包括该行)将被选中的行数

于 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 回答