表中的值 来源表:
column1 column2 column3
1 6 2
1 6 4
1 6 3
1 7 2
1 7 3
1 7 4
2 8 5
2 8 1
预期结果:
1 6 7 2 3 4
2 8 1 5
对于所有column1值:" 1"我需要第二列值第一列和第三列值继续在单行中,如预期结果中所述。 第2列的值相同:" 2"我需要单行中的所有值。
请建议可能的解决方案。 感谢。
答案 0 :(得分:0)
这应该足够接近:
SELECT col1
, CONCAT_WS(
' ',
GROUP_CONCAT(DISTINCT col2 SEPARATOR ' '),
GROUP_CONCAT(DISTINCT col3 SEPARATOR ' ')
) as cnct
FROM your_table
GROUP BY col1
编辑:even better:
SELECT CONCAT_WS(
' ',
col1,
GROUP_CONCAT(DISTINCT col2 ORDER BY col2 SEPARATOR ' '),
GROUP_CONCAT(DISTINCT col3 ORDER BY col3 SEPARATOR ' ')
) as cnct
FROM your_table
GROUP BY col1
答案 1 :(得分:0)
像这样。
SELECT Concat(column1, ' ', Group_concat(DISTINCT column2 SEPARATOR ' '), ' ',
Group_concat(DISTINCT column3 SEPARATOR ' '))
FROM tsts
GROUP BY column1