mysql取数记录:日期时间分区,区相同日期中时间最大值

日期时间分组,在相同日期中取时间最大值

1.需求:

取出下表,每个日期当中rksj最大对应的记录值,组成新的表数据。

在这里插入图片描述

2.解决方案:

解决过程中,使用到了group_concat() 函数,group_concat( 参数1,[参数2] ,[参数3] )

参数1,即要拼接的字段;参数2,排序字段;参数3,默认拼接字符。

group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator '分隔符'])
-- 方法一
-- group_concat() 即要拼接的字段,排序字段,默认拼接字符
select t1.* from view_dcqd_result t1 inner join 
(select SUBSTRING_INDEX(group_concat(id order by rksj desc),',',1) as id
from view_dcqd_result GROUP BY date ) as t2 on t2.id = t1.id
;
-- 方法二 
-- group_concat() 字段优化
select t1.* from view_dcqd_result t1 
inner join (select SUBSTRING_INDEX(group_concat(rksj order by rksj desc),',',1) as rksj
from view_dcqd_result GROUP BY date ) as t2 on t2.rksj = t1.rksj
;
-- 方法三
-- 分组,最大值
select t1.* from view_dcqd_result t1  inner join 
(select date,max(rksj) as rksj from view_dcqd_result GROUP BY date) t2 
on t2.rksj = t1.rksj

3.结果呈现

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值