繁体   English   中英

SQL LIMIT 用于多个查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM