无法找到有关此的任何信息,我可以自己执行此操作,但我觉得将其保留在查询中可能是最好的选择,如果可能的话。
基本上我想尝试添加查询的顶级“统计”部分。
所以当我得到结果时,我会看到这样
num_rows = 900
distinct_col = 9
results = array()
这样我可以正常循环结果,然后提取我只需要一次的信息。这可能吗?
编辑:我不是在寻找像 num_rows 这样的正常 mysql 统计信息。但是在假设您将结果限制为 10 的情况下,num_rows 将返回 10,但您想要总结果,因此为 900。在大多数情况下,我只会使用另一个查询并仅查找数量,但是将它们全部合并为一个对我来说,查询逻辑上似乎更快。我可能需要的不仅仅是 num_rows,比如它们都是产品并且有一个特定的类别,我需要计算所有项目所属的类别数量。因此,当这些列只有一个结果时循环原始结果是愚蠢的。
编辑 2:为了进一步澄清,我需要对某些列进行一些计数,并可能在连接时获得最小-最大结果。让它在每个循环上都返回会起作用,但是当它只需要一次时,相同的确切返回在每个循环上无用地返回似乎不合逻辑。我不是 MySQL 专家,主要只是想确保我想出最合乎逻辑和最快的方法来获取所需的数据。
这是一个 PHP 返回示例:
array(
[num_rows] => 900,
[categories] => 9,
[min_price] => 400,
[max_price] => 900,
[results] => array(
[0] => //row array
[1] -> //row array
)
);
在您“获取”结果之前,Mysql 返回其默认的 num 行,在此处添加自定义结果可能就足够了。