使用MS Access中的SQL计算列百分比

时间:2014-09-24 21:59:24

标签: sql ms-access ms-access-2010

我有一张名为'DEMO'的桌子。它有一个名为“SEX”的列,带有记录,即“男性”,“女性”或空白。

我希望通过以下方式找到“男性”的百分比:

(计算'男性'/(总记录 - 空白记录))* 100

全部在一个查询中。

我正在使用带有.accdb文件的MS Access 2010。

3 个答案:

答案 0 :(得分:0)

创建一个交叉表查询以分隔值 使用公式创建一个新查询,启用总计,这样您只能在返回中获得一行。 笨重但有效。

答案 1 :(得分:0)

使用Access,您无法使用CASE WHEǸ语法,但IIF类似:

SELECT
  SUM(IIF(SEX = 'Male', 1.0, 0.0))
  / COUNT(*) AS RATIO
FROM
  DEMO
WHERE
  SEX <> ''

答案 2 :(得分:0)

我尝试了psadac稍微改变的答案,它似乎对我来说很好。我正在使用Access 2010.

SELECT Sum(IIf([SEX]= "Male",1,0))/Count(*) AS Ratio
FROM DEMO
HAVING (((Sum(IIf([SEX]= "Male",1,0))/Count(*)) Is Not Null));
相关问题