这是我的 table 。我进行了以下查询并得到了结果:
mysql - 查询:
SELECT
GROUP_CONCAT(CONCAT('', j0.rent_agree_id,'-',j0.rent_sche_id) ) AS agreement_ref_no
FROM
rent_provision_history AS j0
GROUP BY provision_date
结果:
但我想看到不同的结果。
例如,对于我现在得到的最后一行结果:4-68,4-69,6-107,6-108,6-109
但我想这样看: 4(68,69)|5(107,108,109)
我该怎么做?
最佳答案
您需要两个级别的聚合:
SELECT provision_date,
GROUP_CONCAT(rent_agree_id, '(', rsi, ')' SEPARATOR '|') agreement_ref_no
FROM (SELECT j0.rent_agree_id, GROUP_CONCAT(j0.rent_sche_id) as rsi
FROM rent_provision_historyj0
GROUP BY j0.provision_date, j0.rent_agree_id
) j0
GROUP BY j0.provision_date;
关于mysql查询concat数据成group_concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39715065/