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