mysql – 在sql中的一行中集成几行

我想在sql中将一个未指定数量的行集成到一行.

我需要一个SQL查询来执行此操作.

我的看法:

service_id  title   value
----------  -----   -----
1              A    10
1              B    20
1              C    40
2              A    15
2              B    72
2              C    70
.              D     .
.              F     .
.              .     .

我预期的结果是:

service_id  A   B   C   D F ..
----------  -   -   -   - - ---
1          10   20  40  . . .
2          15   72  70  . . .
.
.

字段数未知(A,B,C,…)

最佳答案 如果你想在MySQL中使用它,你可以使用它

select service_id  , group_concat(`titlevalue` separator ',') as `your_fild_name` from ( select id, concat(`title`, ':',  group_concat(`value` separator ',')) as `titlevalue` from your_table_name group by id, `titlevalue`) tbl group by service_id  ;
点赞