You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Oracle SQL实现按日及日期范围统计新诊、复诊患者人数

前提约定

假设你表中NewReview字段用'新诊'(或数字1)标识新诊记录,'复诊'(或数字2)标识复诊记录,实际使用时请替换为你表中对应的字段取值。


1. 按日统计每日新诊、复诊人数

输出字段:日期、新诊人数、复诊人数

SELECT 
    TRUNC(VisitDate) AS 日期,
    COUNT(CASE WHEN day_type = '新诊' THEN 1 END) AS 新诊人数,
    COUNT(CASE WHEN day_type = '复诊' THEN 1 END) AS 复诊人数
FROM (
    -- 内层先按患者+日期分组,确定每个患者当日的归属类型
    SELECT 
        RegNo,
        TRUNC(VisitDate) AS visit_day,
        CASE 
            WHEN MAX(CASE WHEN NewReview = '新诊' THEN 1 ELSE 0 END) = 1 THEN '新诊'
            ELSE '复诊'
        END AS day_type
    FROM 你的就诊表名
    GROUP BY RegNo, TRUNC(VisitDate)
) t
GROUP BY visit_day
ORDER BY visit_day;

2. 指定日期范围统计新诊、复诊总人数

你之前统计错误是因为直接对全范围去重RegNo,没有遵循「新诊优先级高于复诊」的规则,可根据业务需求选择对应版本的SQL:

版本1:总人数为范围内去重统计(同一患者跨天就诊仅计1次,只要有新诊记录就归为新诊)

SELECT 
    COUNT(CASE WHEN range_type = '新诊' THEN 1 END) AS 新诊总人数,
    COUNT(CASE WHEN range_type = '复诊' THEN 1 END) AS 复诊总人数
FROM (
    -- 内层按患者分组,确定每个患者在查询范围内的归属类型
    SELECT 
        RegNo,
        CASE 
            WHEN MAX(CASE WHEN NewReview = '新诊' THEN 1 ELSE 0 END) = 1 THEN '新诊'
            ELSE '复诊'
        END AS range_type
    FROM 你的就诊表名
    WHERE TRUNC(VisitDate) BETWEEN DATE '2021-07-10' AND DATE '2021-07-12'
    GROUP BY RegNo
) t;

版本2:总人数为每日人数累加值(同一患者跨天就诊可被多次计数,遵循单日归属规则)

SELECT 
    SUM(new_cnt) AS 新诊总人数,
    SUM(review_cnt) AS 复诊总人数
FROM (
    SELECT 
        TRUNC(VisitDate) AS visit_day,
        COUNT(CASE WHEN day_type = '新诊' THEN 1 END) AS new_cnt,
        COUNT(CASE WHEN day_type = '复诊' THEN 1 END) AS review_cnt
    FROM (
        SELECT 
            RegNo,
            TRUNC(VisitDate) AS visit_day,
            CASE 
                WHEN MAX(CASE WHEN NewReview = '新诊' THEN 1 ELSE 0 END) = 1 THEN '新诊'
                ELSE '复诊'
            END AS day_type
        FROM 你的就诊表名
        WHERE TRUNC(VisitDate) BETWEEN DATE '2021-07-10' AND DATE '2021-07-12'
        GROUP BY RegNo, TRUNC(VisitDate)
    ) t
    GROUP BY visit_day
);

内容的提问来源于stack exchange,提问作者Selvakumar Duraipandiyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 03:21:03