2011-05-16 4 views
0

누구든지 MySQL의 각 그룹에 대해 GROUP_CONCAT에있는 값의 수를 제한하는 방법을 알려 줄 수 있습니까? 또한 각 그룹mysql, group_concat 사용

SELECT GROUP_CONCAT(remaining) 
    FROM `busroute` 
GROUP BY bus 

사람이 내 문제에 대한 위의 쿼리를 수정하는 방법을 알려 수에 대해 2 개 이상 연결된 값을 생성 아래의 쿼리를 사용하고?

+0

GROUP_CONCAT을 사용하기 전에 최종 결과에서 원하는 값만 포함하는 파생 테이블/인라인보기가 필요합니다. 이 질문은 적절하게 대답하기 위해 필요한 많은 세부 사항이 부족합니다. –

답변

0

그룹화 된 행 수를 제한하는 방법을 모르겠습니다. 사용자가 할 수 있다고 생각하지 않습니다.

그러나 당신은 당신이 그룹에 원하는 두 행을 갖고 싶어 위하여려고하는 경우에, 당신은 두 개의 행을 한 번에 그룹화 및 수동 GROUP_CONCAT 만 그룹을 수행 할 수 있습니다 우리가했습니다 여기

SELECT t1.bus, concat(t1.remaining, ',', t2.remaining) 
FROM busroute as t1 
    JOIN busroute as t2 on t1.bus = t2.bus 
WHERE t1.id < t2.id 

방금 busroute 테이블의 사본을 2 장 가져 와서 버스 번호로 연결 한 다음 행에서 고유 한 열 값을 가져옵니다 (열이 고유 속성으로 설정된 열일 수 있음). 일치 항목 제거 그 자체에 대한 행의. '<'대신 '<'을 사용했습니다. 비 고유 행의 동일한 쌍을 한 번만 일치시키기를 원하기 때문입니다.