결과의 각 행에 대해 0부터 시작하는 연결된 행의 각 문자열에 증분 값을 지정해야합니다.MySQL GROUP_CONCAT 증분 값 지정
number|color_set
1 |0 red,1 blue,2 orange
2 |3 brown
3 |4 purple,5 yellow
이 무엇을이다 : 이것은 내가 할 그 결과
number|color_set
1 |0 red,1 blue,2 orange
2 |0 brown
3 |0 purple,1 yellow
: 이것은 내가 원하는 결과가
number|color
1 |red
1 |blue
1 |orange
2 |brown
3 |purple
3 |yellow
: 여기
은 단순화 된 데이터 샘플입니다 나는 노력해왔다 :SET @x:=0;
SELECT number, GROUP_CONCAT(@x:[email protected]+1,' ',color SEPARATOR ',')
FROM table
GROUP BY number;
각 결과 행마다 변수를 0으로 재설정해야합니다. 나는 분명히 전문가가 아니기 때문에 사이트에 처음 온 사람이라면 도움이 될 것입니다.
감사합니다,
제이 방법은 2 단계의 솔루션에 대해
왜이 작업을 수행하려고합니까? 궁극적으로 달성하려는 것은 무엇입니까? – Strawberry
@Strawberry와 동의하십시오. 이런 식으로'GROUP_CONCAT()'을 사용하는 것보다 응용 프로그램 계층에서 그룹화를 수행하는 것이 더 좋습니다. – eggyal
문제는 mysql에 '자연스러운 순서'가 없으므로 1이 아닌 0을 나타내는 이유는 없습니다 – Strawberry