加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

我如安在where子句中包括聚合列?

发布时间:2021-02-25 17:58:20 所属栏目:编程 来源:网络整理
导读:我有一个2列的表farmer_crops,用于存储农夫与其栽培的农作物之间的相关.农夫可以栽培一种或多种农作物.下面的查询为我提供了差异的农夫和他们栽培的农作物.我奈何才气使栽培农作物的农夫总数高出一(my_crops> 1)? select distinct farmer_id,count(crop_i

我有一个2列的表farmer_crops,用于存储农夫与其栽培的农作物之间的相关.农夫可以栽培一种或多种农作物.下面的查询为我提供了差异的农夫和他们栽培的农作物.我奈何才气使栽培农作物的农夫总数高出一(my_crops> 1)?

select distinct farmer_id,count(crop_id) as my_crops 
from farmer_crops 
group by farmer_id

[编辑]行使GMB的提醒,下面的查询向我提供了总共2330行,这是正确的.

SELECT farmer_id,count(crop_id) as my_crops 
FROM farmer_crops 
GROUP BY farmer_id
HAVING count(crop_id) > 1

可是,我真正想要的是下面的查询,只是总数,可是total_farmers列返回的数字8330是错误的.

SELECT count(farmer_id) as total_farmers 
FROM farmer_crops
HAVING count(crop_id) > 1
最佳谜底 聚积表达式的前提不能在WHERE子句中行使.您必要改用HAVING:

SELECT farmer_id,count(crop_id) as my_crops 
FROM farmer_crops 
GROUP BY farmer_id
HAVING count(crop_id) > 1

与WHERE子句差异,HAVING子句位于GROUP BY子句之后.

留意:SELECT DISTINCT凡是对付GROUP BY没故意义,我将其删除.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读