Php 从子查询结果中获取最大值
我有一个查询,它连接3个表并返回按页码排序的结果,这样我一次只能查看一个页面及其通过数组的输出 这是我的问题Php 从子查询结果中获取最大值,php,mysql,Php,Mysql,我有一个查询,它连接3个表并返回按页码排序的结果,这样我一次只能查看一个页面及其通过数组的输出 这是我的问题 select wo.*, (select count(distinct order) from (SELECT * FROM `movements` LEFT JOIN `classes` ON `movements`.`class_id` = `classes`.`class_id` LEFT
select wo.*,
(select count(distinct order)
from (SELECT *
FROM `movements` LEFT JOIN
`classes`
ON `movements`.`class_id` = `classes`.`class_id` LEFT JOIN
`clients`
ON `movements`.`class_id` = `clients`.`class_id`
WHERE `classes`.`class_id` = '$class_id'
) wo2
where wo2.order <= wo.order
) as pagenum
from (SELECT *
FROM `movements` LEFT JOIN
`classes`
ON `movements`.`class_id` = `classes`.`class_id` LEFT JOIN
`clients`
ON `movements`.`class_id` = `clients`.`class_id`
WHERE `classes`.`class_id` = '$class_id'
) wo
order by pagenum
还是有更好的方法来实现这一点
下面是此查询结果的屏幕截图。我现在有下一个和上一个链接,当我在这些结果中到达查询页面5的末尾时,会将用户从一页转到另一页。我希望PHP不再提供转到下一页的选项。因此,我必须以某种方式获得每个查询的MAXpagenum的值
可以通过包含另一个相关子查询来获取maxpage num:
select wo.*,
(select count(distinct order)
from (SELECT *
FROM `movements` LEFT JOIN
`classes`
ON `movements`.`class_id` = `classes`.`class_id` LEFT JOIN
`clients`
ON `movements`.`class_id` = `clients`.`class_id`
WHERE `classes`.`class_id` = '$class_id'
) wo2
where wo2.order <= wo.order
) as pagenum,
(select count(distinct order)
from (SELECT *
FROM `movements` LEFT JOIN
`classes`
ON `movements`.`class_id` = `classes`.`class_id` LEFT JOIN
`clients`
ON `movements`.`class_id` = `clients`.`class_id`
WHERE `classes`.`class_id` = '$class_id'
) wo2
) as maxpages
from (SELECT *
FROM `movements` LEFT JOIN
`classes`
ON `movements`.`class_id` = `classes`.`class_id` LEFT JOIN
`clients`
ON `movements`.`class_id` = `clients`.`class_id`
WHERE `classes`.`class_id` = '$class_id'
) wo
order by pagenum
select wo.*,
(select count(distinct order)
from (SELECT *
FROM `movements` LEFT JOIN
`classes`
ON `movements`.`class_id` = `classes`.`class_id` LEFT JOIN
`clients`
ON `movements`.`class_id` = `clients`.`class_id`
WHERE `classes`.`class_id` = '$class_id'
) wo2
where wo2.order <= wo.order
) as pagenum,
(select count(distinct order)
from (SELECT *
FROM `movements` LEFT JOIN
`classes`
ON `movements`.`class_id` = `classes`.`class_id` LEFT JOIN
`clients`
ON `movements`.`class_id` = `clients`.`class_id`
WHERE `classes`.`class_id` = '$class_id'
) wo2
) as maxpages
from (SELECT *
FROM `movements` LEFT JOIN
`classes`
ON `movements`.`class_id` = `classes`.`class_id` LEFT JOIN
`clients`
ON `movements`.`class_id` = `clients`.`class_id`
WHERE `classes`.`class_id` = '$class_id'
) wo
order by pagenum