2010-04-24 2 views
0

안녕하세요, 저는 '응답'이라는 열의 수를 얻고 싶습니다. 그러나 사용자가 많은 응답을 제출하더라도 나는 그것을 단지 하나로 간주되기를 원합니다. 그래서 기본적으로 DISTINCT user_id를 사용하여 '응답'수를 얻고 싶습니다. 어떻게해야합니까? 고맙습니다.MySQL이 고유 한 다른 열이있는 열의 수를 계산하는 데 도움이됩니까?

+0

테이블 구성 방법에 대해 좀 더 자세히 설명 할 수 있습니까? 너의 테이블은 뭐라구? 어떤 필드가 PK입니까? 어떤 필드가 Null을 허용합니까? –

+1

또한 이전 질문에 내 질문에 응답하지 않았습니다. http://stackoverflow.com/questions/2680356/mysql-how-to-select-friends-from-a-friendship-table 훨씬 더 좋은 답변을 얻을 수 있습니다. 당신을 도우려는 사람들의 질문에 대답한다면. –

답변

1

나는 테이블 구조를 잘 알고 있지만 100 % 확실하지는 않습니다.

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

결과 :

2 

테스트 데이터 :

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'); 

참고 : 응답 열이 NULL이 될 수없는 경우, 당신은 WHERE response IS NOT NULL 절을 필요로하지 않습니다.

+0

실제로 내가 찾고있는 대답은 1입니다. 즉 사용자가 3 번 응답했지만 내 시스템에서는 1로 간주합니다. 또한 필요한 것은 사용자 ID의 수, 응답 수입니다. 희망을 이해합니다. 빠른 답변 감사합니다. –

+0

@Thomas Puthoor : 테스트 데이터에는 세 명의 사용자와 세 명의 응답이 있으며, 두 명은 동일한 사용자로부터 온 것입니다. 따라서 귀하의 요구 사항을 이해할 때 대답은 1이 아닌 2가되어야합니다. –

+0

예. 실수입니다. 귀하의 회신에 감사드립니다. 시간을 내서 죄송합니다. –

관련 문제