检验周转率

select 项目, sum(中位数时间差) as 中位数时间差, sum(百分之九十时间差) as 百分之九十时间差,sum(标本数) as 标本数 from (

select 项目, sum(中位数时间差) 中位数时间差,null 百分之九十时间差, null 标本数 from (

select distinct 项目,中位数,(sum(中位数时间差)/2) 中位数时间差, null 百分之九十时间差, null 标本数 from (

select 项目,中位数,中位数时间差, null 百分之九十时间差, null 标本数 from (

select case 奇数 when 1 then trunc((标本数+1)/2) else (标本数/2) end 中位数,项目 from (

--+标本数/2+1)/2)

select count(a.id) as 标本数,

mod(count(a.id),2) 奇数,

d.名称 as 项目

from 检验报告记录 a, 检验申请组合 b, 检验组合项目 c, 诊疗项目目录 d

where a.id = b.标本id

and b.紧急 = /*B2*/'0'/*E2*/

and b.申请时间 between /*B0*/TO_DATE('2024-04-10 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/

and /*B1*/TO_DATE('2024-04-10 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

and b.组合id = c.id

and c.诊疗编码 = d.编码

and d.id in(1085,1075,6024,1092,8018,1058,1077,8914,4822,8015,1166,1081,32188,32003,17498,17499)

and b.病人来源=1

and a.采样时间 is not null

and a.审核时间 is not null

group by d.名称

)) A,( select row_number() over(partition by 名称 order by 中位数时间差 ) 序号,中位数时间差,名称 from (

select

-- round(TO_NUMBER((a.采样时间-b.申请时间) * 24 * 60), 1) 中位数时间差,

trunc(((a.审核时间-a.采样时间) * 24 * 60)) 中位数时间差,

d.名称

from 检验报告记录 a, 检验申请组合 b, 检验组合项目 c, 诊疗项目目录 d

where a.id = b.标本id

and b.紧急 = /*B2*/'0'/*E2*/

and b.申请时间 between /*B0*/TO_DATE('2024-04-10 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/

and /*B1*/TO_DATE('2024-04-10 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

and b.组合id = c.id

and c.诊疗编码 = d.编码

and d.id in(1085,1075,6024,1092,8018,1058,1077,8914,4822,8015,1166,1081,32188,32003,17498,17499)

and b.病人来源=1

and a.采样时间 is not null

and a.审核时间 is not null

order by 中位数时间差 desc ) ) b where a.中位数=b.序号 and a.项目=b.名称

union all

select 项目,中位数,中位数时间差, null 百分之九十时间差, null 标本数 from (

select case 奇数 when 1 then trunc((标本数+1)/2) else (标本数/2+1) end 中位数,项目 from (

--+标本数/2+1)/2)

--偶数

select count(a.id) as 标本数,

mod(count(a.id),2) 奇数,

d.名称 as 项目

from 检验报告记录 a, 检验申请组合 b, 检验组合项目 c, 诊疗项目目录 d

where a.id = b.标本id

and b.紧急 = /*B2*/'0'/*E2*/

and b.申请时间 between /*B0*/TO_DATE('2024-04-10 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/

and /*B1*/TO_DATE('2024-04-10 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

and b.组合id = c.id

and c.诊疗编码 = d.编码

and d.id in(1085,1075,6024,1092,8018,1058,1077,8914,4822,8015,1166,1081,32188,32003,17498,17499)

and b.病人来源=1

and a.采样时间 is not null

and a.审核时间 is not null

group by d.名称

)) A,( select row_number() over(partition by 名称 order by 中位数时间差 ) 序号,中位数时间差,名称 from (

select

-- round(TO_NUMBER((a.采样时间-b.申请时间) * 24 * 60), 1) 中位数时间差,

trunc(((a.审核时间-a.采样时间) * 24 * 60)) 中位数时间差,

d.名称

from 检验报告记录 a, 检验申请组合 b, 检验组合项目 c, 诊疗项目目录 d

where a.id = b.标本id

and b.紧急 = /*B2*/'0'/*E2*/

and b.申请时间 between /*B0*/TO_DATE('2024-04-10 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/

and /*B1*/TO_DATE('2024-04-10 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

and b.组合id = c.id

and c.诊疗编码 = d.编码

and d.id in(1085,1075,6024,1092,8018,1058,1077,8914,4822,8015,1166,1081,32188,32003,17498,17499)

and b.病人来源=1

and a.采样时间 is not null

and a.审核时间 is not null

order by 中位数时间差 desc ) ) b where a.中位数=b.序号 and a.项目=b.名称

)

group by 项目 ,中位数

) group by 项目

union all

select 项目,null 中位数时间差, sum(百分之九十时间差)/2 as 百分之九十时间差,标本数 from (

select 项目, null 中位数,null 中位数时间差, 百分之九十时间差,标本数 from

(

select case mod(标本数*0.9,1) when 0 then (标本数*0.9) else (trunc(标本数*0.9)+1) end 百分之九十,标本数,项目 from (

select count(a.id) as 标本数,d.名称 as 项目

from 检验报告记录 a, 检验申请组合 b, 检验组合项目 c, 诊疗项目目录 d

where a.id = b.标本id

and b.紧急 = /*B2*/'0'/*E2*/

and b.申请时间 between /*B0*/TO_DATE('2024-04-10 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/

and /*B1*/TO_DATE('2024-04-10 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

and b.组合id = c.id

and c.诊疗编码 = d.编码

and d.id in(1085,1075,6024,1092,8018,1058,1077,8914,4822,8015,1166,1081,32188,32003,17498,17499)

and b.病人来源=1

and a.采样时间 is not null

and a.审核时间 is not null

group by d.名称

) ) C ,

(select row_number() over(partition by 名称 order by 百分之九十时间差 ) 序号,百分之九十时间差,名称

from(

select

--round(TO_NUMBER((a.采样时间-b.申请时间) * 24 * 60), 1) 时间差,

trunc(((a.审核时间-a.采样时间) * 24 * 60)) 百分之九十时间差,

d.名称

from 检验报告记录 a, 检验申请组合 b, 检验组合项目 c, 诊疗项目目录 d

where a.id = b.标本id

and b.紧急 = /*B2*/'0'/*E2*/

and b.申请时间 between /*B0*/TO_DATE('2024-04-10 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/

and /*B1*/TO_DATE('2024-04-10 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

and b.组合id = c.id

and c.诊疗编码 = d.编码

and d.id in(1085,1075,6024,1092,8018,1058,1077,8914,4822,8015,1166,1081,32188,32003,17498,17499)

and b.病人来源=1

and a.采样时间 is not null

and a.审核时间 is not null

order by 百分之九十时间差) ) D where C.百分之九十=D.序号 and c.项目=d.名称

union all

select 项目, null 中位数,null 中位数时间差, 百分之九十时间差,标本数 from

(

select case mod(标本数*0.9,1) when 0 then ((标本数*0.9)+1) else (trunc(标本数*0.9)+1) end 百分之九十,标本数,项目 from (

select count(a.id) as 标本数,d.名称 as 项目

from 检验报告记录 a, 检验申请组合 b, 检验组合项目 c, 诊疗项目目录 d

where a.id = b.标本id

and b.紧急 = /*B2*/'0'/*E2*/

and b.申请时间 between /*B0*/TO_DATE('2024-04-10 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/

and /*B1*/TO_DATE('2024-04-10 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

and b.组合id = c.id

and c.诊疗编码 = d.编码

and d.id in(1085,1075,6024,1092,8018,1058,1077,8914,4822,8015,1166,1081,32188,32003,17498,17499)

and b.病人来源=1

and a.采样时间 is not null

and a.审核时间 is not null

group by d.名称

) ) C ,

(select row_number() over(partition by 名称 order by 百分之九十时间差 ) 序号,百分之九十时间差,名称

from(

select

--round(TO_NUMBER((a.采样时间-b.申请时间) * 24 * 60), 1) 时间差,

trunc(((a.审核时间-a.采样时间) * 24 * 60)) 百分之九十时间差,

d.名称

from 检验报告记录 a, 检验申请组合 b, 检验组合项目 c, 诊疗项目目录 d

where a.id = b.标本id

and b.紧急 = /*B2*/'0'/*E2*/

and b.申请时间 between /*B0*/TO_DATE('2024-04-10 00:00:00','YYYY-MM-DD HH24:MI:SS')/*E0*/

and /*B1*/TO_DATE('2024-04-10 23:59:59','YYYY-MM-DD HH24:MI:SS')/*E1*/

and b.组合id = c.id

and c.诊疗编码 = d.编码

and d.id in(1085,1075,6024,1092,8018,1058,1077,8914,4822,8015,1166,1081,32188,32003,17498,17499)

and b.病人来源=1

and a.采样时间 is not null

and a.审核时间 is not null

order by 百分之九十时间差) ) D where C.百分之九十=D.序号 and c.项目=d.名称

) group by 项目,标本数

)

group by 项目

相关推荐
lzhlizihang15 分钟前
【Hive sql 面试题】求出各类型专利top 10申请人,以及对应的专利申请数(难)
大数据·hive·sql·面试题
superman超哥38 分钟前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
engchina1 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
engchina2 小时前
使用 Cypher 查询语言在 Neo4j 中查找最短路径
数据库·neo4j
尘浮生2 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
威哥爱编程2 小时前
SQL Server 数据太多如何优化
数据库·sql·sqlserver
小华同学ai2 小时前
AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
数据库·信息可视化·开源
Acrelhuang2 小时前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
Mephisto.java2 小时前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
Mephisto.java2 小时前
【大数据学习 | kafka高级部分】kafka的文件存储原理
大数据·sql·oracle·kafka·json