2010-12-02 27 views
2

的这个计算在B和组中的所有项目上的一个:SQL子查询,分组和有点数学

SELECT A, Count(*) AS [Count All] 
FROM MyTable 
GROUP BY A; 

这个计算上的一个在B和组全部为1:

SELECT A, Count(*) AS [Count Ones] 
FROM MyTable 
WHERE 
    MyTable.[B]='1' 
GROUP BY A; 

怎么办我把两列(全和1),另外,我怎么能显示比例另一行

表列:

[A] [ALL COUNT] [COUNT ONES] [ONES/ALL]

+4

RE: “我怎么会显示在另一行百分比” - 你的意思另一个**列**大概? – 2010-12-02 16:58:22

回答

2

自MS-ACCESS,你可以使用IIF代替的情况下

SELECT 
    Table1.A, 
    Sum(IIf([B]=1,1,0)) AS Count1, 
    Count(Table1.A) AS total, 
    (Sum(IIf([B]=1,1,0))/ Count(Table1.A)) * 100 AS percentofones 
FROM 
    Table1 
GROUP BY 
    Table1.A;