查询一个人最新的记录 并对某一字段进行汇总统计
- 问题分解:
- 查询一个人的所有时间记录 ---->
group by
分组 - 查询一个人最新的记录--->找到最新的时间---->
max(time)
- 连接表查询所有数据---->
inner join...on
- 汇总记录--------> 查询某一字段所属区间
sum(case when jfjs between 0 and 1000 then 1 else 0 end) as
0-1000``,
- 查询一个人的所有时间记录 ---->
- 问题解决:
-- 表名 table_p -- id 身份证信息 -- time 时间 -- jfjs 需要汇总的字段 select sum(case when jfjs between 0 and 1000 then 1 else 0 end) as `0-1000`, sum(case when jfjs between 1000 and 2000 then 1 else 0 end) as `1000-2000` --多条case判断区间 from table_p INNER JOIN ( select id as b_id ,max(time) as b_time from table_p group by gmsfzhm ) b on id= b_id and time= b_time
- 原数据不便贴出 测试可行