나는 'opportunities 기회'라는 기본 필드와 'opportunities opportunity_cstm'이라는 추가 필드를 포함하는 두 개의 관련 테이블을 가지고 있습니다. 우리의 목적을 위해 기회 테이블은 id 및 sales_stage 필드를 포함합니다. opportunity_cstm 테이블은 id_c 및 sales_stage_before_closed_c 필드를 포함합니다. id_c는 두 테이블을 관련시킵니다.% breakdown (어려운 쿼리)을 사용하는 MySQL 하위 쿼리
sales_stage는 1에서 10까지의 값과 'Closed Lost'또는 'Closed Won'중 하나를 포함합니다. 실제 응용 프로그램에서 1-10은 0-9 %에서 90-99 %까지의 비율 밴드를 나타내며 닫힌 손실은 0 %이고 닫힌 원은 100 %입니다.
sales_stage_before_closed_c는 닫히기 전의 비율 밴드입니다.
실제 쿼리에서이 단계에 도달 한 기회 수에 대한 각 sales_stage의 백분율을 표시하고 원 기회와 얼마나 많은 사람들이이 단계에 도달하여 잃어버린 결과를 가져 왔는지 확인해야합니다. 내가 필요로하는 것을 훨씬 더 가깝다 새 쿼리에
업데이트 : 쿼리를 실행하면
SELECT opportunities_c_top.sales_stage_before_closed_c AS 'Sales Stage',
COUNT(*) * 100.0/
(SELECT COUNT(*)
FROM `opportunities_cstm` opportunities_cstm join
`opportunities` opportunities
on opportunities_cstm.id_c = opportunities.id WHERE opportunities.`sales_stage` = 'Closed Won' AND opportunities_cstm.sales_stage_before_closed_c = opportunities_c_top.sales_stage_before_closed_c) AS 'Closed Won',
COUNT(*) * 100.0/
(SELECT COUNT(*)
FROM `opportunities_cstm` opportunities_cstm join
`opportunities` opportunities
on opportunities_cstm.id_c = opportunities.id WHERE opportunities.`sales_stage` = 'Closed Lost' AND opportunities_cstm.sales_stage_before_closed_c = opportunities_c_top.sales_stage_before_closed_c) AS 'Closed Lost'
FROM `opportunities_cstm` opportunities_c_top join
`opportunities` opportunities_top
on opportunities_top.id = opportunities_c_top.id_c
WHERE (opportunities_top.`sales_stage` = 'Closed Won' OR opportunities_top.`sales_stage` = 'Closed Lost')
GROUP BY opportunities_c_top.sales_stage_before_closed_c
http://sqlfiddle.com/#!2/ac28d/1
그 여전히 100 % 정확하지만, 그것은 보여 60 % -69 %로 200 대신 양쪽에 50.
원하는 결과 세트와 함께 적절한 DDL (및/또는 sqlfiddle)을 제공하십시오. – Strawberry
원하는 결과 세트뿐 아니라 샘플 데이터도 제공하십시오. –
'이 단계에 도달 한 기회와 기회가 얼마나 되었습니까?'하지만 원의 기회 인 'Closed Won'은 포함되지 않았습니까? –