MYSQL COUNT只显示X以上的结果

Lee*_*Lee 1 mysql count

是否可以计算用户的所有预订,并且仅获得用户具有超过X预留的结果.这是我的代码,只计算所有用户的预订

SELECT 
    u.firstname, u.lastname u.email, COUNT(r.reservation_id) as orders
FROM 
    users AS u LEFT OUTER JOIN
    reservation AS r USING (user_id)
GROUP BY
    u.id
Run Code Online (Sandbox Code Playgroud)

我可以添加到此查询中说WHERE orders> = 5 ??

希望你能提出建议

背风处

Joe*_*Joe 5

当你在聚合时,你想要使用'HAVING'而不是'WHERE':

SELECT 
    u.firstname, u.lastname u.email, COUNT(r.reservation_id) as orders
FROM 
    users AS u LEFT OUTER JOIN
    reservation AS r USING (user_id)
GROUP BY
    u.id
HAVING orders >= 5;
Run Code Online (Sandbox Code Playgroud)

(我认为mysql允许你在HAVING子句中使用列别名... postgres没有,所以你必须使用HAVING COUNT(r.reservation_id) >= 5)