2012-09-19 28 views
0

如何在MS Access 2007中编写查询,以显示指定字段中每行的计数和表中总记录的百分比?如何获取MS Access 2007来计算行百分比?

例如,如果我的表有一个名为“性别”的字段,我应该写什么查询来查看男性的行数和百分比以及女性的行数和百分比?

因此,如果表有1000条记录,结果会是这样:

Men.....600.....60% 
Women...400.....40% 

我可以很容易地编写一个查询,只是给我的行数,但我无法弄清楚如何也看到百分比。

我应该提到,我不知道SQL。创建查询时使用Design View。但是,如果您可以在SQL中为我提供查询的文本,则可以将其复制并粘贴到新的查询中,然后保存它。

+0

考虑使用窗口功能 - http://www.simple-talk.com/sql/learn-sql-server/working-with-window-functions-in-sql-server/ – ronalchn

回答

0

它不是SQL本身的一部分,但可以在查询中使用VBA函数来计算表中记录的数量:DCount(MSDN)。

复制并粘贴到查询设计以下行(顶行每列,1行):

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%。

顺便说一句,有可能更多consise方式来做到这一点。我试图让它可读。 PS:不要忘记替换表和字段的名称。不要忘记替换表和字段的名称。