数据库group by过滤

来源:互联网 发布:商务数据分析是什么 编辑:程序博客网 时间:2024/06/08 13:34

查询历史记录的时候,比如1分钟插入一条记录,但是这些记录基本相同,或者某些字段完全相同

我们想显示在前端的希望过滤掉重复部分或者每隔20分钟,或者5分钟显示一条

declare  @checkTime  datetime,@intervarTime  int  set @checkTime = '2010-1-1 11:11:51' set  @intervarTime =5select  dateadd(ss, -(DATEPART(ss, @checkTime ) % 60), @checkTime)  --- 去掉秒部分---2010-1-1 11:11:00select datepart(mi, dateadd(ss, -(DATEPART(ss, @checkTime ) % 60), @checkTime))  --- 取分钟部分---select datepart(mi, dateadd(ss, -(DATEPART(ss, @checkTime ) % 60), @checkTime))%@intervarTime --- 取余分钟部分--- --- 分钟扣掉余数就是最近的一个整点---select dateadd(mi, -(datepart(mi, dateadd(ss, -(DATEPART(ss, @checkTime ) % 60), @checkTime))%@intervarTime),dateadd(ss, -(DATEPART(ss, @checkTime ) % 60), @checkTime))
返回值
2010-1-1 11:10:00


把所有的时间都按照这种方式,或者平均,或者取第一条,都能得到想要的

0 0
原创粉丝点击