2010-12-02 31 views
2

ce compte tous les éléments B et les groupes dont:les sous-requêtes SQL, le regroupement et un peu de mathématiques

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

ce compte tous les 1 à B et les groupes dont:

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

Comment faire Je mets les deux colonnes (tous) et de 1 et, en outre, comment pourrais-je montrer le pourcentage dans une autre ligne

colonnes de table:

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

+4

RE: "comment pourrais-je montrer le pourcentage dans une autre ligne" - vous voulez dire une autre ** colonne ** vraisemblablement? –

+2

Est-ce un serveur SQL ou un autre type de SGBDR? –

+0

@Daniel: Ce serait bien de voir une maquette de résultats. Par exemple. À quoi pensez-vous que la sortie ressemble? –

Répondre

2

Depuis sa MS-ACCESS vous pouvez utiliser ssi au lieu de cas

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;