jpql按用户id分组,并将其他列结果排列成列表/数组

9njqaruj  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(340)

我有一个有效的问题:

SELECT p.user.id, p.id FROM Photo p WHERE p.user.id IN ?1 GROUP BY p.user.id, p.id

返回如下数据

2, 656
2, 767
2, 788
6, 986
6, 1364
etc...

但它想要这样:

2; 656,767,788
6; 986,1364...

因此,对于每个用户,p.user.id,然后是p.id的列表。最好是格式化字符串,逗号分隔,因为它将作为json发送。

wj8zmpe1

wj8zmpe11#

SELECT p.user.id, GROUP_CONCAT(p.id SEPARATOR ', ') from Photo p GROUP BY p.user.id;

或者如果你想要分号

SELECT concat(p.user.id,';'), GROUP_CONCAT(p.id SEPARATOR ', ') from Photo p GROUP BY p.user.id;

相关问题