2012-01-30 1 views
0

테이블이 있습니다 : name, date, url, no, url에는 "facebook","twitter","other"이 포함됩니다. 나는 새로운 테이블을 생성 할 수있는 방법그룹화 할 SQL 명령 필드 및 새 열 만들기

: date, facebook, twitter, total, unique name, 날짜별로 그룹화, facebook 필드 twitter로하여 nourl="facebook"의 합과 동일하다 같은 것을; total 필드는 모두 no의 합계입니다. unique name은 뚜렷한 name을 계산합니까?

답변

4

이 경우 SUM/CASE를 사용할 수 있습니다.

SELECT Date, 
     SUM(case when url = 'facebook' then no else 0 end) as facebook, 
     SUM(case when url = 'twitter' then no else 0 end) as twitter, 
     SUM(no) total, 
     COUNT(DISTINCT NAME) as `unique name` 
FROM 
     table 
GROUP BY 
     date 
+0

'facebook','twitter','total'은 count 대신'no'의 합계입니다. 왜 GROUP BY'name'입니까? – DrXCheng

+0

@xuc 질문을 빨리 읽었습니다. 내 대답을 업데이트했습니다 –

+0

고유 한 이름을 계산하는 방법? – DrXCheng