查询一个人最新的记录 并对某一字段进行汇总统计
- 问题分解:
- 查询一个人的所有时间记录 ---->
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
- 原数据不便贴出 测试可行
mysql | 查询一个人最新的记录 并对某一字段进行汇总统计