[英]group_concat and frequency of each word in this record
這是我的數據庫。
表:
item: item_id, name
order: order_id
orderform: order_id, item_id, quantity
表格中的數據
item_id name
1 ball
2 cap
3 bat
order_id
1
2
3
4
order_id item_id quantity
1 1 2
1 3 4
2 1 1
3 2 3
3 1 2
3 3 1
4 1 2
目前我正在使用以下sql查詢:
SELECT order_id, group_concat(name)
FROM order
LEFT JOIN orderform
ON order.order_id = orderform.order__id
LEFT JOIN item
ON orderform.item_id = item.item_id
GROUP BY order.order_id
這給了我這個樣子
order_id name
1 ball,ball,bat,bat,bat,bat
2 ball
3 cap,cap,cap,ball,ball,bat
4 ball,ball
但我希望它看起來像這樣
order_id name
1 2 x ball,4 x bat
2 ball
3 3 x cap,2 x ball,bat
4 2 x ball
你必須走兩步:
第一步:解決項目並創建文本
SELECT
orderform.order_id AS order_id,
CONCAT(orderform.quantity, ' x ',item.name) AS txt
FROM order orderform
LEFT JOIN item ON orderform.item_id = item.item_id
然后按訂單分組
SELECT
order_id,
group_concat(txt) AS txt
FROM (
SELECT
orderform.order_id AS order_id,
CONCAT(orderform.quantity, ' x ',item.name) AS txt
FROM order orderform
LEFT JOIN item ON orderform.item_id = item.item_id
) AS baseview
GROUP BY order_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.