我正在使用TABLE,需要合理的帮助。MySQL GROUP_CONCAT与COLUMN SPLIT
检查表格结构和样本数据的以下URL。
http://sqlfiddle.com/#!2/ece06/2
表结构:
CREATE TABLE test (
ID INTEGER,
NAME VARCHAR (50),
VALUE INTEGER
);
插入的数据:
INSERT INTO test VALUES (1, 'A', 4);
INSERT INTO test VALUES (1, 'B', 5);
INSERT INTO test VALUES (1, 'C', 8);
INSERT INTO test VALUES (2, 'D', 9);
INSERT INTO test VALUES (2, 'E', 9);
INSERT INTO test VALUES (3, 'F', 9);
INSERT INTO test VALUES (3, 'G', 9);
INSERT INTO test VALUES (3, 'H', 9);
INSERT INTO test VALUES (3, 'I', 9);
查询:
SELECT ID, GROUP_CONCAT(NAME) AS CODE
FROM test
GROUP BY ID;
输出:
ID CODE
1 A,B,C
2 D,E
3 F,G,H,I
预期输出:
ID CODE CODE CODE CODE
1 A B C NULL
2 D E NULL NULL
3 F G H I
正如你可以看到查询的输出已经Concat的用逗号。而目前我们正在使用PHP在显示时分割字符串concat!
是否有任何其他方式来分割RESULT并显示列和相同的行中的每个值?同样的结果呢?
注意:对于每个行,CODE可能会有所不同。
那么会是什么?在结果集中不可能有不同数量的列 - 对于整个行集,只能有相同的列数。但在你的结果中有2,3和4个逗号加入的值。那么如何才能“转换为列”呢? –
检查有问题的更新以获取预期结果。 – TomPHP
幸运的是,您只发布了最多一个ID的4个值。 –