类似的实例问题:按照医院、年度统计门诊表复诊率,A .IS_FIRST_VISIT:--1-初诊 2-复诊,复诊数/总记录数=复诊率。
COUNT( DECODE(A .IS_FIRST_VISIT, 2, 1, NULL) ) / COUNT(A .OUT_ID) ) AS RATE
decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。
SELECT
TO_CHAR(A .SEE_DOCTOR_DATE, 'YYYY') AS YEAR,
b. NAME AS institution_name,
(
COUNT(
DECODE(A .IS_FIRST_VISIT, 2, 1, NULL)
) / COUNT(A .OUT_ID)
) AS RATE
FROM
EMR_OUT_RECORDS A
LEFT JOIN INSTITUTIONS b ON A .INSTITUTION_ID = b.CODE
LEFT JOIN STAFFS c ON A .DOCTOR_CODE = c.CODE
LEFT JOIN EMPLOYEE_TYPES D ON c.EMPLOYEE_CODE = D .CODE
LEFT JOIN EMPLOYEE_TYPES E ON D .STDCODE = E .CODE
WHERE
A .IS_EMERGENCY_CLINIC IS NULL
AND(
A .IS_SEND_BACK != 1
OR A .IS_SEND_BACK IS NULL
)
AND E .code IS NOT NULL
GROUP BY
TO_CHAR(A .SEE_DOCTOR_DATE, 'YYYY'),
b. NAME
网友评论