mysql - 将多行合并为一列

标签 mysql merge

我正在尝试将不同的旧值合并到一列中。 我有这张表

id  code    langtype    desc        duration            
232 1104466 1           IT text     10
233 1104466 2           EN text     10
234 1104466 6           other desc  10
235 1104466 1           Other IT text(different row) 10
236 1104466 2           Other EN text(same row of previous) 10

我想获得这样的结果

id  code    desc                                                duration
232 1104466 “IT” = “IT TEXT”, EN=”EN TEXT”, “ES”=”Other desc”   10

有可能是mysql吗?

谢谢

最佳答案

是的,这是可能的。像这样的东西应该达到这样的效果:

select group_concat(concat(langtype, ' = ', desc))
from table
group by code

在这里,我们首先形成一个要从每行中提取的值 (concat(langtype, ' = ', desc)),然后将其连接到每个分组行 (group_concat) >)。您可以更改分隔符,或在需要的地方添加引号 - 查看 GROUP_CONCATCONCAT文档。

关于mysql - 将多行合并为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46110586/

相关文章:

mysql - 连接两个表并在条件满足时替换值

php - MariaDB 和 PHP - 查询无法正常工作

mercurial - 撤消 hg 推送(取消?)

c - C编程中的合并

python - Pandas:分割单元格并将数据附加到另一个单元格

r - 选择表示两个位置之间范围的行,以便仅包括至少包含另一个表的一个位置的间隔

mysql准备语句在执行stmt时没有重复变量使用

mysql - 通过HTTP访问MySQL

MySQL - 在另一个触发器之后执行一个触发器

C字符串不断相互覆盖