gpt4 book ai didi

php - 带有 HAVING 语句的 MySQL FOUND_ROWS

转载 作者:行者123 更新时间:2023-11-30 22:21:14 26 4
gpt4 key购买 nike

编辑:事实证明,代码似乎按预期运行。这只是一个调试问题。抱歉打扰!

我正在运行一个涉及多个过滤器和 JOIN 的大型查询,而且我正在对结果进行分页,因此查询运行了两次。

我尝试使用 SQL_CALC_FOUND_ROWS 来避免运行查询两次,但是由于我使用 HAVING 语句进行过滤,所以我在“having 语句”之前得到了未过滤的总数”。我需要运行 HAVING,因为原始查询依赖于计数——我知道这很糟糕,但我现在没有修改数据库结构的权限。

我的 SQL 的想法:

SELECT SQL_CALC_FOUND_ROWS u.id as user_id,
u.full_name as full_name,
u.email as email,
COUNT(stuff) as logs,
FROM
user u
LEFT JOIN
profile u_p on u_p.user_id = u.id
GROUP BY u.id
HAVING logs>5
LIMIT 15

当我运行新的 SQL 查询时SELECT FOUND_ROWS() as total_rows 我得到了全部 u.id 行,而不是过滤后的行。 (这只发生在 HAVING 语句中,而不是 WHERE 子句)

最佳答案

事实证明,代码似乎按预期运行。这只是一个调试问题。抱歉打扰!

关于php - 带有 HAVING 语句的 MySQL FOUND_ROWS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36573365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com