2

我希望在 Microsoft Access 中创建一个查询,该查询在运行时将计算字段中的唯一元素并将这些值输出为元素总数的百分比。

例如,如果我的表 SampleTable 具有以下 8 个元素的字段:

字母值

z

X

X

X

是的

X

z

是的

我正在寻找返回以下内容的输出

字母值百分比

x 50%

是 25%

25%

更好的是,是否可以修改这个简单的计数查询来得到这个结果?

SELECT LetterValue, COUNT(*) AS QTY
FROM SampleTable
GROUP BY LetterValue;
4

2 回答 2

4

这个问题有几个部分,包括将值转换为字符串(所以你可以附加一个'%'):

SELECT st.LetterValue, cdbl(100.0*COUNT(*)/tot.tot)&'%' AS QTY
FROM SampleTable st,
     (select COUNT(*) as tot
      from SampleTable
     ) as tot
GROUP BY st.LetterValue, tot.tot;
于 2013-07-01T17:38:50.967 回答
3

你也可以做这样的事情

SELECT group_counts.letter, group_counts.countNums, (group_counts.countNums/total_count.total_nums*100) AS [Percent]
  FROM (SELECT letter, Count(*) AS countNums FROM [yourTable] GROUP BY letter) AS group_counts, 
       (SELECT Count(*) AS total_nums FROM [yourTable]) AS total_count;

这将输出像

Letter     CountNums     Percent
 a         2             20
 b         4             40
 c         2             20
 d         1             10
 e         1             10
于 2013-07-01T17:51:00.520 回答