在MySQL中将行列为平均值

时间:2014-12-11 15:50:20

标签: mysql sql

我有一个如下所示的数据集,“合格”下的1/0列和每个资格检查相关联的邮政编码。

"DATA_ELIGIBLE"         "B_ZIP5"
"0"                     "19958"
"1"                     "08846"
"0"                     "08846"
"0"                     "93546"

我想获得SQL中每个邮政编码的平均资格分数,即如果我的数据集是以上四行,那么我的新数据集将有3行,得分08846相等到0.5。我怎样才能做到这一点?我还希望有另一列COUNTs给定邮政编码的出现次数。我可以将数据集拉入Powerpivot并将其转出表格,但它非常大(30MM行)并且需要一段时间。谢谢。

1 个答案:

答案 0 :(得分:2)

假设data_eligible是数字,您只需执行以下操作:

select b_zip5, avg(data_eligible), count(*) as cnt
from table t
group by b_zip5;