簡體   English   中英

來自多表和計數的mysQL group_concat

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM