2010-04-24 7 views
0

Salut je veux obtenir le compte de la colonne appelée «réponse». Mais même si un utilisateur soumet de nombreuses réponses, je veux qu'il ne soit considéré que comme un seul. Donc, fondamentalement, je veux obtenir le nombre de 'réponse' avec DISTINCT id_utilisateur. Comment puis-je faire ceci? Je vous remercie.Aider avec MySQL à obtenir le compte d'une colonne avec une autre colonne distincte?

+0

Pouvez-vous décrire un peu plus de détails sur la structure de votre table? Comment s'appelle ta table? Quel champ est le PK? Quels champs sont nullables? –

+1

Aussi, vous n'avez toujours pas répondu à mes questions à votre question précédente: http://stackoverflow.com/questions/2680356/mysql-how-to-select-friends-from-a-friendship-table Vous obtiendrez de bien meilleures réponses si vous répondez aux questions de ces personnes qui essaient de vous aider. –

Répondre

1

Je ne suis pas sûr à 100% que je comprends votre structure de table, mais peut-être que vous voulez cela?

SELECT COUNT(DISTINCT userid) 
FROM Table1 
WHERE response IS NOT NULL 

Résultat:

2 

données de test:

CREATE TABLE table1 (userid INT NOT NULL, response NVARCHAR(100) NULL); 
INSERT INTO table1 (userid, response) VALUES 
(1, NULL), 
(1, 'a'), 
(1, 'b'), 
(2, NULL), 
(3, 'c'); 

Note: si la colonne de réponse ne peut pas être NULL, vous n'avez pas besoin de la clause WHERE response IS NOT NULL.

+0

En fait, la réponse que je cherche est 1. i.e même si l'utilisateur a répondu 3 fois, je le prends comme 1 dans mon système. Aussi ce dont j'ai besoin n'est pas le nombre d'utilisateurs, le nombre de réponses. J'espère que vous avez compris. Merci pour la réponse rapide. –

+0

@ Thomas Puthoor: Dans mes données de test, il y a trois utilisateurs différents et trois réponses, dont deux proviennent du même utilisateur. Donc, si je comprends bien vos exigences, la réponse devrait être 2, pas 1. –

+0

Oui désolé mon erreur. Merci pour votre réponse. Désolé de prendre votre temps. –

Questions connexes