gpt4 book ai didi

php - Doctrine - 按外部聚合值过滤

转载 作者:行者123 更新时间:2023-11-29 14:02:35 25 4
gpt4 key购买 nike

我如何在 Doctrine 的 where 中使用聚合函数的结果?

例如,我想知道有很多数字的用户。

SELECT  u.name, COUNT(p.id) AS users_phonenumber_count
FROM users u

INNER JOIN phonenumbers p ON p.user_id = u.id
WHERE
users_phonenumber_count > 10
GROUP BY
u.id

我如何在 Dql 的哪个位置访问 users_phonenumber_count

最佳答案

您需要使用 HAVING,而不是 WHERE。此外,您需要根据查询中实际存在的内容进行分组,在本例中为 u.name。假设 u.name 是唯一的 - 如果不是,则需要同时按 u.id 和 u.name 进行分组。

SELECT  u.name, COUNT(*) AS users_phonenumber_count
FROM users u

INNER JOIN phonenumbers p ON p.user_id = u.id
GROUP BY
u.name
HAVING
count(*) > 10

关于php - Doctrine - 按外部聚合值过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1643499/

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