mysql 取当前记录的上一条数据,计算增长率

 使用场景,表id有序增长,如果可以修改代码,将上一条记录id插到当前记录中更容易处理

select DISTINCT  newmeasure.outpatient_no,newmeasure.name,pre.current_gestational_week,
  pem.systolic,pem.diastolic,pem.systolic_2,pem.diastolic_2,pem.systolic_3,pem.diastolic_3,
  pem.temperature,pem.pulse,pem.height,pem.weight,ppr.preweight,ppr.bmi,
  newmeasure.create_date,newmeasure.next_create_date,nextpem.height as next_height,newmeasure.next_mea_id,nextpem.weight as next_weight,
	pre.lmp,pre.sure_edd,pre.edd
 from (
  select  mea.*,max(meamin.create_date) as next_create_date,max(meamin.id) as next_mea_id,max(pemin.id) as next_prmin_id
  from measure mea 
  LEFT JOIN measure meamin on (meamin.outpatient_no=mea.outpatient_no and meamin.create_date<mea.create_date) 
  LEFT JOIN physical_exam_measure pemin on (pemin.id=meamin.physical_exam_measure_id)
  where mea.outpatient_no is not null and mea.outpatient_no  !=''
  GROUP BY mea.id
 ) newmeasure 
 LEFT JOIN pregnancy pre on  newmeasure.outpatient_no=pre.outpatient_no
 LEFT JOIN physical_exam_measure nextpem on  nextpem.id=newmeasure.next_prmin_id
 LEFT JOIN physical_exam_measure pem on newmeasure.physical_exam_measure_id=pem.id
 LEFT JOIN personal_profile ppr on pre.personal_profile_id=ppr.id
 WHERE 1=1

 ------20230411改进-----

可以改进代码的前提下,在当天检查的数据插入上一条的id,再加上索引

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值