2017-09-23 13 views
0

Pour chaque client, j'ai besoin de lister le CUS_CODE, le nombre de clients dans chaque zone (CUS_AREACODE) et le solde total (CUS_BALANCE) et de regrouper ces enregistrements par le CUS_BALANCE.Sélection des colonnes et comptage dans une requête SQL

C'est ce que j'ai jusqu'à présent:

SELECT 
    COUNT (CUS_AREACODE) AS CUSTOMERS_IN_AREA, 
    CUS_CODE, CUS_BALANCE 
FROM 
    CUSTOMER 
GROUP BY 
    CUS_BALANCE; 

Je suis assez nouveau pour SQL et je reçois une erreur disant que

CUS_CODE n'est pas une fonction d'agrégation

et je ne suis pas tout à fait sûr de ce que cela signifie et pourquoi.

+0

S'il vous plaît ajouter la base de données que vous êtes using.for à savoir Oracle, MySQL etc. –

+0

Voulez-vous simplement pour afficher la CUS_BALANCE ou si vous voulez somme CUS_BALANCE? –

+3

Copie possible de [MS-Access - vous avez tenté d'exécuter une requête qui n'inclut pas la fonction d'agrégation spécifiée] (https://stackoverflow.com/questions/19430500/ms-access-you-tried-to-execute-a -query-that-does-not-include-le-spécifié-agg) –

Répondre

1

La règle de GROUP BY, même liste de colonnes DOIT être présent dans SELECT et GROUP BY clause. Il vous manque CUS_CODE dans GROUP BY.

GROUP BY CUS_BALANCE, CUS_CODE; 

au lieu de

GROUP BY CUS_BALANCE;