我如何在where子句中包含聚合列?
发布时间:2021-02-27 06:02:00 所属栏目:MySql教程 来源:网络整理
导读:我有一个2列的表farmer_crops,用于存储农民与其种植的农作物之间的关系.农民可以种植一种或多种农作物.下面的查询为我提供了不同的农民和他们种植的农作物.我怎样才能使种植农作物的农民总数超过一(my_crops> 1)? select distinct farmer_id,count(crop_i
我有一个2列的表farmer_crops,用于存储农民与其种植的农作物之间的关系.农民可以种植一种或多种农作物.下面的查询为我提供了不同的农民和他们种植的农作物.我怎样才能使种植农作物的农民总数超过一(my_crops> 1)?
[编辑]使用GMB的提示,下面的查询向我提供了总共2330行,这是正确的.
但是,我真正想要的是下面的查询,只是总数,但是total_farmers列返回的数字8330是错误的.
最佳答案
聚集表达式的条件不能在WHERE子句中使用.您需要改用HAVING:
与WHERE子句不同,HAVING子句位于GROUP BY子句之后. 注意:SELECT DISTINCT通常对于GROUP BY没有意义,我将其删除. (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |