在MySQL中,可以使用GROUP BY和聚合函數來合并多行數據為一行數據。以下是一個示例:
假設有一個名為orders的表,包含以下示例數據:
order_id | customer_id | product_id | quantity |
---|---|---|---|
1 | 101 | 1 | 2 |
2 | 101 | 2 | 3 |
3 | 102 | 1 | 1 |
4 | 102 | 3 | 4 |
如果要將customer_id相同的記錄合并為一行,可以使用以下查詢:
SELECT customer_id, GROUP_CONCAT(CONCAT(product_id, ':', quantity) SEPARATOR ', ') AS products
FROM orders
GROUP BY customer_id;
這將返回以下結果:
customer_id | products |
---|---|
101 | 1:2, 2:3 |
102 | 1:1, 3:4 |
在這個例子中,我們使用GROUP_CONCAT函數將每個customer_id的產品和數量組合成一個字符串,并用逗號分隔不同的產品。