分组,但在MySQL中连接组内的值
我有一个简单的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
| 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)