MySQL文本分组

时间:2012-01-17 21:07:13

标签: mysql

假设我有下表:

id    | state | type | my_text
--------------------------------------
12345 | OH    | 01   | blah
12345 | OH    | 01   | testing
12345 | OH    | 01   | hello world
12345 | OH    | 02   | something else
12345 | OH    | 02   | more text

是否存在允许我输出类似内容的MySQL分组函数?:

id    | state | type | my_text
--------------------------------------
12345 | OH    | 01   | blah|testing|hello world
12345 | OH    | 02   | something else|more text

我知道使用数字的类似功能(即计算一堆分组行的平均值),但我正在寻找将文本字段组合在一起并划分它们的东西。这似乎相当简单,但我似乎找不到合适的方法来做到这一点。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:4)

GROUP_CONCAT可以执行此操作,请参阅http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

SELECT id, state, type, GROUP_CONCAT(my_text SEPARATOR '|')
FROM tbl
GROUP BY id, state, type