2010-02-23 3 views
1

J'ai une requête qui renvoie 24 enregistrements pour les utilisateurs avec le code A et 54 enregistrements pour les utilisateurs avec le code BSQL Server à l'aide groupby

et parfois il retournera les utilisateurs avec le code C, D .... etc il peut y avoir un total de 15 codes différents.

Je souhaite que ma requête affiche uniquement les codes une fois, au lieu de renvoyer des utilisateurs de nouvelle génération.

Si je fais quelque chose comme

Select Count(user_code) from tbl_test and group by user_code 

Je n'obtenir 54 et 24

si je fais quelque chose comme

Select Count(user_code) as number, user_code from tbl_test and group by user_code 

Je vais obtenir 54 B 24 A

Je veux seulement retourner B A

est-il possible de le faire ou devrais-je simplement utiliser ma deuxième requête?

Répondre

3

J'ai peut-être mal compris, mais c'est ce que vous cherchez?

SELECT DISTINCT user_code FROM tbl_test 

qui est le même que:

SELECT user_code FROM tbl_test GROUP BY user_code 
+0

Parfait .... C'est ce que je cherchais Merci –

+0

La Distinct a travaillé pour moi –

1

Je ne sais pas ce que vous voulez exactement, mais prenez votre requête et d'ajouter une clause WHERE si vous ne souhaitez que A et B inclus:

Select 
    Count(user_code) as number, user_code 
    from tbl_test 
    WHERE user_code in ('A','B')  ---<<--to only get counts for A and B 
    group by user_code