У меня есть таблица из двух столбцов 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