[英]SQL LIMIT for multiple queries
我有我的分页脚本,它获取页面变量并在 sql 查询中输入 LIMIT 值。
LIMIT $page, $limit2
一切正常,问题是我有 2 个 sql 查询,所以LIMIT 0,10显示第一个查询的 10 个结果,然后显示第二个查询的 10 个结果 = 每页 20 个结果,我需要的是从第一个 QRY 和上显示 10 个第 2 页 rest 来自第一个 QRY,然后才打印第二个查询的结果。
我在整个查询之前尝试了if语句,在 while 循环中添加了一个 ++increment,以使找到结果的数字均匀,然后运行第二个 QRY,但它似乎不是那样工作的。
还尝试了类似的操作,但很少有数学操作,但效果也不太好。
if($page==$printf2)
{$limit2=10;}
if($page==0)
{$limit2=0;}
在第一个结束后制作第二个 QRY 列表的正确方法是什么,每页没有超过 10 个结果?
您是否评估过使用 UNION 语句?
SELECT * FROM xxxxx (first query)
UNION ALL
SELECT * FROM YYYYYY (second query)
$sql = "QUERY1 LIMIT $page, $limit";
$result = mysql_query($result);
/* process the result here! */
if (mysql_num_rows($result) < 10) {
$sql2 = "QUERY2 LIMIT $page, $limit2";
$result = mysql_query($result);
/* process result of query 2 */
}
这样,只有当从 query1 返回的行是表中的最后一组行时,才会执行查询二。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.