如何在MS Access 2007中编写一个查询,该查询显示指定字段中每行的计数和表中总记录的百分比?
例如,如果我的表中有一个名为“性别”的字段,那么我应该编写什么查询以查看行数和男性百分比以及行数和女性百分比?
因此,如果表有1000条记录,结果将类似于:
Men.....600.....60%
Women...400.....40%
我可以轻松编写一个只给我行数的查询,但我无法弄清楚如何查看百分比。
我应该提一下,我不懂SQL。我在创建查询时使用设计视图。但是,如果您可以在SQL中为我提供查询文本,我可以将其复制并粘贴到新查询中,然后保存。
答案 0 :(得分:0)
它不是SQL本身的一部分,但您可以在查询中使用VBA函数来计算表中的记录数量:DCount(MSDN)。
在查询设计器中复制并粘贴以下行(顶行,每列一行):
TotalMen: DCount("*";"[TableNameHere]";"[Gender]='Male'")
TotalWomen: DCount("*";"[TableNameHere]";"[Gender]='Female'")
然后,您可以通过对返回值执行一些简单的数学运算来获得百分比(每列再一行):
TotalPersons: [TotalMen]+[TotalWomen]
PercentageMen: [TotalMen]/[TotalPersons]
PercentageWomen: [TotalWomen]/[TotalPersons]
不要忘记将格式设置为百分比,否则值将显示为0,6和0,4而不是60%和40%。
顺便说一句,有可能有更多的方法来做到这一点。我试图让它变得可读。
PS:不要忘记替换表格和字段的名称。