查询以查找每组记录数的平均值

use*_*466 0 mysql sql

我有一个表有2列,即FarmerName,PesticideUsed和Town.

  1. 我怎样才能找到使用特定农药的农民平均数.
  2. 每个城镇的平均农民人数

有29个独特的农药和8个独特的城镇.

我试着写第一个即ie

adapter.SelectCommand = new SqlCommand(
    "select count(FarmerName)/29 as average_count from try", con);
Run Code Online (Sandbox Code Playgroud)

我不认为这是对的.

我怎么会这样做....

Fil*_*lva 9

使用农药的农民平均数量:

SELECT PesticideUsed ,AVG(num)
FROM (
SElECT PesticideUsed ,COUNT(*) as num
FROM yourTable
GROUP BY PesticideUsed) a
GROUP BY PesticideUsed 
Run Code Online (Sandbox Code Playgroud)

每个城镇的平均农民数量:

SELECT town ,AVG(num)
FROM (
SElECT town ,COUNT(*) as num
FROM yourTable
GROUP BY town) a
GROUP BY  town 
Run Code Online (Sandbox Code Playgroud)