福田我要做网站优化比较好,wordpress美图模板,购物网站开发 项目描述,企业网站及信息化建设大家好#xff0c;我是雄雄。 前言
又好久没有写博客了#xff0c;为什么呢#xff1f;因为最近没怎么写代码…说起来也惭愧。
今天在项目上遇到了个需求#xff0c;是这样的#xff1a;我们数据库中有一表检测记录表#xff0c;该表中存储的是所有居民每次的检测记录我是雄雄。 前言
又好久没有写博客了为什么呢因为最近没怎么写代码…说起来也惭愧。
今天在项目上遇到了个需求是这样的我们数据库中有一表检测记录表该表中存储的是所有居民每次的检测记录说白点就是张三在今天检测了两次心电那么该表中就会有两条记录如果李四在今天检测了4次那么表中就存的是4次的记录。如下所示 像这样的检测记录表有9个现在我们要实现查询每个表中所有居民的最后一次检测记录。
sql语句
需求查询所有居民的最后一次检测记录包括居民信息那么我们可以做出如下分析
检测记录表需要和居民表进行关联查询因为我们需要拿到居民的信息在检测记录表中只有居民的id在检测记录表中需要按照居民分组查询因为同一居民可能测多次在表中存储的就是多次的记录。需要按照检测时间降序排序检测记录表中的数据因为我们需要知道最后一次的检测时间。
综上所述我们就可以慢慢的整理出以下的sql如下所示
SELECTlm.name AS NAME,T1.heartratenum AS heartratenum,T1.ai_remark AS ai_remark,T1.dr_remark AS dr_remark,T1.create_time AS create_time,T1.user_id AS user_id,T1.member_id AS member_id,T1.sys_org_code AS sys_org_code,lm.birthday AS birthday,lm.sex AS sex,lm.phone AS phone,DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), lm.birthday)), %Y)0 AS age
FROM (SELECT A.* FROM(SELECT A.*,row_number : IF(member_id A.member_id OR member_id IS NULL,row_number 1,1) AS RN,member_id : A.member_id AS member_id1FROM lt_ecg A,(SELECT row_number : 0) B,(SELECT member_id : NULL) CORDER BY A.member_id,A.measure_time DESC) AWHERE A.RN 1) T1
INNER JOIN lt_member lmON T1.member_id lm.id
这样查出来如下所示