我有一个带有一些记录的样本表。我显示了表结构和预期的输出。请帮助我做到这一点。现在我使用Group_Concat,但它在id字段中显示1,1和2,2和3,3。

ID  PRODUCT     QUANTITY
1   COMPUTER    100
2   MOUSE       120
3   KEYBOARD    10
4   MOUSE       150
5   KEYBOARD    300
6   COMPUTER    20
7   KEYBOARD    1


预期产量

ID  PRODUCT QUANTITY    IDS
1   COMPUTER    120     1,6
2   MOUSE       270     2,4
3   KEYBOARD    311     3,5,7

最佳答案

ORDER BY ID(外部)将为您显示产品的第一个ID,
group_concat中的DISTINCT强制所有ID都是唯一的,而ORDER BY使它们按顺序排列
尝试这个:

SELECT
    ID, PRODUCT, SUM(QUANTITY) QUANTITY, GROUP_CONCAT(DISTINCT ID ORDER BY ID) IDS
FROM
    <table>
GROUP BY PRODUCT
ORDER BY ID
;

关于mysql - MySql中的Group_concat,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23487091/

10-12 12:50
查看更多