当前位置: 首页 > news >正文

继续坚持网站建设监管靠谱seo外包定制

继续坚持网站建设监管,靠谱seo外包定制,驻马店网站开发,怎么用代码创建网站教程需求描述:在Oracle中 住院记录记录表为v_hospitalRecords,表中FIHDATE入院时间,FBIHID是住院号, 我想查询出每个患者在他们的所有住院记录中是否在一个月内再次入院(相邻的两条记录进行比较),并且住院记录大于一的患者…

需求描述:在Oracle中 住院记录记录表为v_hospitalRecords,表中FIHDATE入院时间,FBIHID是住院号, 我想查询出每个患者在他们的所有住院记录中是否在一个月内再次入院(相邻的两条记录进行比较),并且住院记录大于一的患者在此入院的数据

1、方法一

1.1 如下图所示:假如住院号为155131的患者入院记录有三条,该病人第一次入院为2023-05-19 15:19:00、第二次为2023-06-13 15:19:00、第三次为2023-07-16 15:19:00,那么我们排序下计算相邻两个是否在31天内,并且显示这两条记录,sql如下:

SELECT FBIHID, FIHDATE,prev_fihdate,next_fihdate 
FROM (SELECT FBIHID, FIHDATE,LAG(FIHDATE) OVER (PARTITION BY FBIHID ORDER BY FIHDATE ASC) AS prev_fihdate,LEAD(FIHDATE) OVER (PARTITION BY FBIHID ORDER BY FIHDATE ASC) AS next_fihdate,COUNT(*) OVER (PARTITION BY FBIHID) AS admissions_countFROM v_jc_mae_zy
)
WHERE (FIHDATE - prev_fihdate <= 31 OR next_fihdate - FIHDATE <= 31)
AND admissions_count > 1;

我们解释下这段sql,这段sql是查找在 31 天内住院两次或以上的患者。查询从名为 v_jc_mae_zy 的视图中选择了四个列:FBIHIDFIHDATEprev_fihdatenext_fihdate。其中,FBIHID 表示患者的 ID,FIHDATE 表示患者住院的日期,prev_fihdate 表示患者上一次住院日期,next_fihdate 表示患者下一次住院日期。

为了计算 prev_fihdatenext_fihdate,该查询使用了 LAGLEAD 窗口函数。LAG 函数用于返回在当前行之前的行中指定列的值,而 LEAD 函数用于返回在当前行之后的行中指定列的值。这里根据 FBIHID 分组,按 FIHDATE 升序排序,以得到每个患者的住院日期的前一次和下一次住院日期。

接下来,该查询使用 COUNT 窗口函数计算了每个患者的住院次数,将其命名为 admissions_count

最后,该查询使用条件筛选语句 WHERE,选择了满足以下条件的行:

  • 当前住院日期与上一次住院日期之差小于等于 31 天,或者当前住院日期与下一次住院日期之差小于等于 31 天。
  • 患者的住院次数大于 1。

如图所示:

2、方法二

2.1我们如1.1所说一致,采用另外一种方法,sql如下:

SELECT fbihid,fihdate, 上一个入院日期, 一个月后日期FROM (SELECT v.*,LAG(FIHDATE) OVER(PARTITION BY FBIHID ORDER BY FIHDATE) AS 上一个入院日期,LAG(FIHDATE) OVER(PARTITION BY FBIHID ORDER BY FIHDATE) + INTERVAL '31' DAY AS 一个月后日期,COUNT(*) OVER(PARTITION BY FBIHID) AS 住院次数FROM v_jc_mae_zy v) aWHERE 住院次数 > 1AND (一个月后日期 > fihdate or (上一个入院日期 is null or 一个月后日期 is null));

我们解释下这段sql,这段sql用于查找在 31 天内住院两次或以上的患者。查询从名为 v_jc_mae_zy 的视图中选择了四个列:fbihidfihdate上一个入院日期一个月后日期。其中,fbihid 表示患者的 ID,fihdate 表示患者住院的日期,上一个入院日期 表示患者上一次住院日期,一个月后日期 表示患者上一次住院日期的一个月后的日期。

为了计算 上一个入院日期一个月后日期,该查询使用了 LAG 窗口函数和日期函数 INTERVALLAG 函数用于返回在当前行之前的行中指定列的值。这里根据 fbihid 分组,按 fihdate 升序排序,以得到每个患者的住院日期的前一次入院日期。INTERVAL '31' DAY 表示一个月的时间间隔。因此,LAG(FIHDATE) OVER(PARTITION BY FBIHID ORDER BY FIHDATE) + INTERVAL '31' DAY 表示上一次住院日期的一个月后的日期。

接下来,该查询使用 COUNT 窗口函数计算了每个患者的住院次数,将其命名为 住院次数

最后,该查询使用条件筛选语句 WHERE,选择了满足以下条件的行:

  • 患者的住院次数大于 1。
  • 上一次住院日期的一个月后的日期大于当前的住院日期,或者上一次住院日期或一个月后的日期为空。

总之,这个查询的目的是返回那些住院次数大于 1,且上一次住院日期的一个月后的日期大于当前的住院日期或者上一次住院日期或一个月后的日期为空的患者的 ID、住院日期、上一次住院日期和上一次住院日期的一个月后的日期。

方法有很多种,本次遇到了该问题,所以记录一下,如有错误,还请指正

http://www.hkea.cn/news/855407/

相关文章:

  • 景点介绍网站模板重庆百度关键词推广
  • 做亚马逊网站费用吗曲靖新闻今日头条
  • bing 网站管理员2023今日新闻头条
  • 深圳市做网站前十强百度一下搜索网页
  • 做执法设备有哪些网站国家免费培训学校
  • 顺德乐从有做阿里巴巴的网站吗杭州网站设计
  • 做英文网站 用阿里服务器行吗b2b网站推广排名
  • 搭建网站做淘宝客网赌怎么推广拉客户
  • 网站建设前台与后台最新技术2021最新免费的推广引流软件
  • 做网站基本语言淘宝如何提升关键词排名
  • wordpress怎样分类目录添加标签seo文章范文
  • 订阅号可以做网站吗南宁seo外包服务商
  • 邢台哪儿做网站便宜宁波 seo排名公司
  • 深圳网站优化咨询网上广告怎么推广
  • 网站右击无效是怎么做的网络营销产品
  • 中宣部网站政治建设网站服务器是什么意思
  • 淮安网站定制徐州seo外包公司
  • 嘉兴类网站系统总部网站建设技术解决方案
  • 做网站的教科书外包网络推广公司推广网站
  • 模板名字 wordpress优化大师如何删掉多余的学生
  • 3d网站建设制作百度关键词优化手段
  • 新手做那些网站比较好东莞企业网站排名
  • 欧美风格网站360指数
  • 优秀网站建设公司电话下列哪些店铺适合交换友情链接
  • 58同城乌鲁木齐网站建设重庆网站到首页排名
  • wordpress知言主题山东服务好的seo公司
  • 旅游商务平台网站建设功能需求关键词排名查询官网
  • 做网站要搭建本地服务器么微商引流被加方法精准客源
  • 网站名字要备案吗友情链接怎么弄
  • 江苏网站开发外链网站大全