SQLITE group_concat 来自两列的配对值

SQLITE group_concat pairing values from two columns

我有一个 table 这样的:

id      key      value
244574  16       999
244574  18       999
244574  54       174
214808  16       662
214808  17       808
214808  33       1
214808  60       2
214809  16       902 
214809  17       1103
214809  33       1
214809  60       2
218965  19       808
218965  21       662
218965  33       1
218965  60       8
218966  19       1103
218966  21       902
218966  33       1
218966  60       8

Fiddle: click here

现在我尝试获取一个列表,其中有一列包含键和值对,应该如下所示:

id      key_value_pairs
214808  [16,662;17,808;33,1;60,2]
214809  [16,902;17,1103;33,1;60,2]
218965  [19,808;21,662;33,1;60,8]
218966  [19,1103;21,902;33,1;60,8]
244574  [16,999;18,999;54,174]

我的查询:

select 
id,
'[' || group_concat(key, ',') ||
';' || group_concat(value, ',') || ']' as key_value_pairs
from items_attributes
GROUP BY id

...这导致您可以在我上面链接的 fiddle 中看到。

有人碰巧有这个问题的解决方案吗?

提前致谢!

此致, 安德烈亚斯

获得:-

我用过:-

select 
    id,
    '[' || group_concat(key||","||value, ';')||']' as key_value_pairs
from items_attributes
GROUP BY id