복잡한 SQL 문을 처음 사용하여 도움이됩니다. 결과 세트의 절반을 표시하고 남은 것으로 고생했습니다. 필요한단일 MySQL 문에서 여러 백분율 계산
결과 : 아래 작성된 SQL로
PSU | pregnancy number| pregnancy percentage | % of live birth out of the pregnancy number.
1 | 2 | 67% | 40%
2 | 1 | 33% | 80%
, 나는 처음 3 열을 얻는 것을 처리했다.
두 번째 및 세 번째 열은 fieldname = 'Q111'
의 문장이 필요한 곳에서 필요합니다. 네 번째 열은 백분율을 요구하는 반면 진술서는 fieldname = 'Q112
입니다. 어떻게 다른 where 문을 함께 결합합니까? |
SELECT sms_psu.name1 AS PSU,
woman_data.answertext AS NumberOfPreg,
Count(woman_data.answertext)/(SELECT Count(woman_data.answertext)
FROM woman_data
INNER JOIN sms_household
ON woman_data.prim_key =
ms_household.hhid
INNER JOIN sms_psu
ON sms_psu.psu =
sms_household.psu
WHERE sms_psu.state = 19
AND sms_psu.district = 1
AND sms_psu.psu = 2
AND fieldname = 'Q139') AS
totalcpuntpreg
FROM woman_data
INNER JOIN sms_household
ON woman_data.prim_key = sms_household.hhid
INNER JOIN sms_psu
ON sms_psu.psu = sms_household.psu
WHERE sms_psu.state = 19
AND sms_psu.district = 1
AND sms_psu.psu = 2
AND fieldname = 'Q111'
GROUP BY woman_data.answertext,
sms_household.psu
고든, 당신의 제안은 lot.I 내 쿼리 내가 지금 쓰기가 오전 스피 Q112
PSU에 대한 추가 행을 받고 있다는 accordingly.The 문제를 업데이트 나 도움 임신 번호 | 임신 비율 | 임신 수 중 출산율 %.
1 | 2 | 67 % | 40 %
2 | 1 | 33 % | 80 %
2 | 1 | 0 % | 20 % (Q112의 경우 3 행이 추가됩니다)
하지만 그룹별로 수행하는 동안 Q112 항목이 필요하지 않습니다. case 문과 main 문을 별도로 사용할 수 있습니까? 나는 그룹과 함께 "having"을 사용하려고했지만 dint는 예상 된 결과를 얻는다.
에 오신 것을 환영합니다. 논리적으로 코드를 표시하는 방법을 이해하면 매우 유용합니다. 귀하의 질문을 편집하려고 시도했습니다. 데이터에 대한 더 많은 정보를 얻는 것도 도움이됩니다. –
'fieldname' 열은 어디에서 왔습니까? 그 앞에 테이블 별칭이 없습니다. –