我是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行,以便稍后我可以单独处理每个变量。
有什么建议吗?
谢谢
答案 0 :(得分: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
限制中的第一个数字是它开始的行,第二个数字是将被选中的行之后的行数
答案 1 :(得分: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."';
答案 2 :(得分:0)
例如:
select * from table where rownum < 1000