2016-06-23 2 views
0

Group_Concat() 결과를 다른 열로 나누려면 어떻게해야합니까? 쉼표로 구분 된 동일한 셀에 표시하고 싶지 않습니다.MySQL의 출력 분할하기 Group_Concat()

+1

은, 작품의 무리입니다 MySQL에서. 실제로 찾고자하는 것이 CSV 콘텐츠를 보유 할 열을 만드는 피벗 쿼리입니다. 샘플 표를 보여 주시면 귀하의 생각을보다 잘 이해할 수 있습니까? –

답변

0

구분자를 알고있는 경우 subquery에 포장하여 SUBSTRING_INDEX을 두 번 사용하면됩니다.

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 3), '.', -1) 
    FROM (
     SELECT GROUP_CONCAT(...) AS SomeColumn 
      FROM ... 
    ) AS SomeTable 
  1. SUBSTRING_INDEX에서 제 문자열을 취득 -> N
  2. SUBSTRING_INDEX제의 문자열 삭제 -> N - 1

확인이 SQLFiddle

귀하의 경우, 열의 번호를 알고, 같이 보일 것이다 쿼리 (당신이 5 개 쉼표 (,)로 구분 문자열이 가정) : 쉼표로 구분 된 문자열을 폭발 이름 그대로 제안 무엇을 수행

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 1), '.', -1) 
    , SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 2), '.', -1) 
    , SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 3), '.', -1) 
    , SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 4), '.', -1) 
    , SUBSTRING_INDEX(SUBSTRING_INDEX(SomeColumn, '.', 5), '.', -1) 
    FROM (
     SELECT GROUP_CONCAT(...) AS SomeColumn 
      FROM ... 
    ) AS SomeTable