Php 条令-按外国授权价值过滤
我如何在原则中的何处使用Agregate函数的结果 例如,我想了解一个有很多愚蠢数字的用户Php 条令-按外国授权价值过滤,php,postgresql,dql,doctrine,Php,Postgresql,Dql,Doctrine,我如何在原则中的何处使用Agregate函数的结果 例如,我想了解一个有很多愚蠢数字的用户 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中的where中访问用户\u
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中的where中访问用户\u phonenumber\u count?我记不起我是如何做到这一点的确切细节,但请记住,它必须使用
这是因为SQL的工作方式,而不是具体的原则-如果无法比较计算值,则必须使用having,或者可以使用WHERE COUNTsomething
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
不管怎样,但对我来说更重要的是我如何获得价值。但是谢谢你的留言重点是你不能在哪里访问它。不在SQL和DQL中。其中筛选发生在GROUP BY之前,聚合计数仅在GROUP BY之后创建,因此应用WHERE时不存在。你需要使用having:GROUP BY u.id,让用户\u phonenumber\u count>10,这是我要求的原则,但看起来不错。我会尽快尝试的,抱歉,错过了:-好吧,这就是你需要从条令的另一端出来的SQL类型:-条令DQL支持有。。。看见