JPQL 按用户 ID 分组并将其他列结果排列为 list/array
JPQL group by user id and make other column results arranged to a list/array
我有一个工作查询:
SELECT p.user.id, p.id FROM Photo p WHERE p.user.id IN ?1 GROUP BY p.user.id, p.id
这个returns数据像
2, 656
2, 767
2, 788
6, 986
6, 1364
etc...
但它想要这样:
2; 656,767,788
6; 986,1364...
因此对于每个用户,p.user.id,然后是 p.id 的列表。最好在格式化字符串中,以逗号分隔,因为它将作为 json.
发送
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;
我有一个工作查询:
SELECT p.user.id, p.id FROM Photo p WHERE p.user.id IN ?1 GROUP BY p.user.id, p.id
这个returns数据像
2, 656
2, 767
2, 788
6, 986
6, 1364
etc...
但它想要这样:
2; 656,767,788
6; 986,1364...
因此对于每个用户,p.user.id,然后是 p.id 的列表。最好在格式化字符串中,以逗号分隔,因为它将作为 json.
发送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;