2012-07-01 2 views
0

여러 열에서 group by을 사용할 수 있습니까? 를 들어, 다음 카테고리의 각그룹별로 같은 테이블

(SELECT GROUP_CONCAT(DISTINCT members.Category) 
    FROM members 
    JOIN categories on members.CategoryId = category.Id 
     ) as "Categories" 

그러나 나는 또한 총을 원한다, 나는 (A,B) 사용하고 반환 할 수있어 현재

Id | CateogryId | Value 
1 | 1   | 10 
2 | 2   | 20 
1 | 1   | 10 

: 여기

members 테이블 예 (A:20, B:20)

+0

시도해 보셨습니까? –

+0

구문에 대해 잘 모르겠습니다. 하나의 열에 대한 합계를 포함하여 여러 열의 group_concat을 찾고 있습니다. – Dani

+0

더 나은 질문은 다음 행을 반환하는 것입니다 : SELECT CONCAT (SUM (AMOUNT), '','cateogry'.Name)은 두 행 이상을 반환합니다. – Dani

답변

1

카테고리 합계가 가상 테이블 (하위 쿼리) 인 경우 다음과 같이 시작하십시오.

SELECT m.Category, SUM(m.Value) as Total 
    FROM members m 
GROUP BY m.Category 
ORDER BY m.Category 

가상 테이블을 사용하여 concat을 수행하십시오.

SELECT GROUP_CONCAT(CONCAT(Category, ': ', Total) SEPARATOR ' ') 
    FROM (
    SELECT m.Category, SUM(m.Value) as Total 
     FROM members m 
    GROUP BY m.Category 
    ORDER BY m.Category 
)A 
+0

가상 테이블은 내가 찾고있는 것입니다. – Dani

+0

외부 선택에서 where 절을 추가 할 수 있습니다. SELECT network.name, SELECT GROUP_CONCAT (CONCAT (범주, ':', 합계) SEPARATOR '') FROM ( SELECT m.Category, SUM (m.Value) Total FROM members m 여기서 category.netowrk = networks.Id GROUP BY m.Category ORDER BY m.Category ) 네트워크에서. 네트워크에 오류가 있습니다. 존재하지 않습니다. – Dani