美文网首页
Oracle:统计表中某个值占总数的比例

Oracle:统计表中某个值占总数的比例

作者: 丶墨墨丶 | 来源:发表于2019-08-16 11:02 被阅读0次

类似的实例问题:按照医院、年度统计门诊表复诊率,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

相关文章

网友评论

      本文标题:Oracle:统计表中某个值占总数的比例

      本文链接:https://www.haomeiwen.com/subject/tqlfsctx.html