我在数据库中有以下数据

ID   |  AId            | field           | Value        | internalOrder |
-------------------------------------------------------------------------
| 86 |             193 | h1              | v1           |             1 |
| 43 |             193 | default         | default      |             2 |


我想获得由internalOrder groupedBy Aid排序的字段,值和internalOrder的串联。
这样结果应该像

193 | h1,default | v1,default | 1,2


我尝试了几件事。

select Aid,group_concat(field), group_concat(value), group_concat(internalOrder order by internalOrder ASC) from table1 group by Aid order by Aid;


这将产生如下结果:

|193 | default,h1 | default,v1 | 1,2


哪有错

如何产生预期的结果?

最佳答案

尝试以下-

select Aid,group_concat(field order by internalOrder ASC),
group_concat(value order by internalOrder ASC),
group_concat(internalOrder order by internalOrder ASC)
from table1 group by Aid order by Aid;

10-05 19:29