分组,但在MySQL中连接组内的值

分组,但在MySQL中连接组内的值,mysql,Mysql,我有一个简单的MySQL表: | CUST_ID | VISIT | PROD_ID | |---------|-------|---------| | 1 | 1 | 3473 | | 1 | 2 | 324 | | 1 | 2 | 324 | | 2 | 1 | 426 | | 2 | 2 | 4418 | | 3 | 1 | 4523

我有一个简单的MySQL表:

| CUST_ID | VISIT | PROD_ID |
|---------|-------|---------|
| 1       | 1     | 3473    |
| 1       | 2     | 324     |
| 1       | 2     | 324     |
| 2       | 1     | 426     |
| 2       | 2     | 4418    |
| 3       | 1     | 4523    |
| 4       | 1     | 976     |
| 4       | 1     | 86      |
| 4       | 2     | 3140    |
| 4       | 3     | 1013    |
我想把它转换成这样:

| CUST_ID | VISIT | PROD_IDs |
|---------|-------|----------|
| 1       | 1     | 3473     |
| 1       | 2     | 324, 324 |
| 2       | 1     | 426      |
| 2       | 2     | 4418     |
| 3       | 1     | 4523     |
| 4       | 1     | 976, 86  |
| 4       | 2     | 3140     |
| 4       | 3     | 1013     |
我明白了,这有点难看


我不知道如何干净地创造这样一个东西。我尝试过各种不成功的分组策略。即使是一个正确方向的线索或暗示都会很好。谢谢。

如果您试图按客户id+访问进行分组,则可以这样做,并在产品id字段上使用
组CONCAT
,例如:

SELECT
    CUST_ID, 
    VISIT, 
    GROUP_CONCAT(PROD_ID) PROD_IDS
FROM
    table
GROUP BY 
    CUST_ID,
    VISIT

参考资料:

神圣的烟雾!我以前没有发现过
GROUP\u CONCAT
。这正是我需要的。砰@MonicaHeddneck很酷,如果你想得到不同的值,你可以做
GROUP\u CONCAT(不同的产品id)