[英]mysQL group_concat from multi table and count
我試圖將單表轉換為多表提取單表,這是完美的工作,但多表提取給出了錯誤。 請任何人都可以幫忙
db-fiddle單表可以完美工作https://www.db-fiddle.com/f/mTHmv2idQwkdPZSqmRPi2Z/4
但是我做的這張多桌子怎么了? https://www.db-fiddle.com/f/eUAUt53neNMBsnP1QxjzGJ/5
我希望下面的輸出與小提琴我提到的單表相同。 你可以檢查小提琴。
|---------------------|------------------| | SELLER | status | |---------------------|------------------| | S1 |C3 :3,C1 :2,C2 :2 | |---------------------|------------------| | S2 |C3 :1,C1 :2,C2 :1 | |---------------------|------------------|
您獲得比預期更多的記錄的原因是由於查詢中具有多個聯接。
請嘗試以下方法。 這應該只返回給您:
select seller, group_concat(cid,' :', cnt SEPARATOR ',')
from
(SELECT cases.SELLER, cases_cstm.customerid as cid, COUNT(*) as cnt FROM
cases, cases_cstm WHERE cases.id=cases_cstm.id_c GROUP BY cases.SELLER,
cases_cstm.CUSTOMERID) q
group by seller;
如果需要計數客戶ID,則應在您的select子句中包含count(cid)
。 希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.