在sql中一行集成几行

时间:2017-03-16 06:08:08

标签: mysql sql mysqli

我想在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,...)

1 个答案:

答案 0 :(得分:1)

如果你想在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  ;