mysQL group_concat из нескольких таблиц и счетчиков

>>> import re
>>> s="four digits 1234 five digits 56789 six digits 012345"
>>> re.findall(r"\D(\d{5})\D", s)
['56789']

, если они могут произойти в самом начале или в самом конце, проще вставить строку, чем беспорядок со специальными случаями

>>> re.findall(r"\D(\d{5})\D", " "+s+" ")
0
задан programmergeeky 18 March 2019 в 23:15
поделиться

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;

Если вам нужно количество идентификаторов клиентов, вы должны включить count(cid) в ваше предложение выбора. Надеюсь, это поможет!

0
ответ дан raj 18 March 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: