请问针对时间段从每天早上7点开始统计每十分钟人

解决思路:

我以前做过一个关于月份的,是说每3个月以分组,其实是一样的。不过可能啊,整体数据量大会有问题。如果你只是求一天的,那绝对没问题。
【1】如果只是当天,那么你以当天七点为准,算当天所有时间与它的分钟差,然后group by 分钟差/10 即可
【2】如果是全部数据的话,那么你在where里把时间段条件加上,然后找个最早的时间点为准 group by 当前时间与最早时间点的分钟差/10

这位朋友这样是死写,本文以当天为例啊

【1】构建个表测试一下

【2】利用分钟差/10分组

【3】显示不直观,转换成时间显示

SELECT DATEDIFF( Minute, '2017-01-01 07:00:00', '2017-01-01 7:18:20')

create table test104(
id int identity(1,1),
[time] datetime
)
insert into test104 values('20180301 07:05:05')
insert into test104 values('20180301 07:06:05')
insert into test104 values('20180301 07:15:05')
insert into test104 values('20180301 07:16:05')
insert into test104 values('20180301 07:25:05')
insert into test104 values('20180301 07:26:05')
insert into test104 values('20180301 07:35:05')
insert into test104 values('20180301 07:36:05')
insert into test104 values('20180301 07:45:05')
insert into test104 values('20180301 07:46:05')
insert into test104 values('20180301 07:55:05')
insert into test104 values('20180301 07:56:05') select dateadd(minute,DATEDIFF( Minute, '20180301 07:00:00', time)/10*10,'20180301 07:00:00' ),count(1) from test104
group by DATEDIFF( Minute, '20180301 07:00:00', time)/10

方法2:利用分钟构造出想要的分钟列。

  比如  2018-03-01 07:56:05   ,构造出  2018-03-01 07:50:00

  核心思想

    (1)分钟数56拿出来,然后让其变成50

    (2)怎么变成50?--》56-56%10 = 50

    (3)怎么去掉后面的秒呢?用convert解决

select   dateadd(minute,datepart(minute,time)%10*(-1),time )  as example_col
, convert(char(16), dateadd(minute,datepart(minute,time)%10*(-1),time) ,120)+':00' as [group_time]
,* from test104


  后面的分组就不用多说了,直接分就OK

select
group_time,
count(1) as [时间段内记录数],
max(time) as [时间段内最大时间],
min(time) as [时间段内最小时间]
from
(
select dateadd(minute,datepart(minute,time)%10*(-1),time ) as example_col
, convert(char(16), dateadd(minute,datepart(minute,time)%10*(-1),time) ,120)+':00' as [group_time]
,* from test104
) t
group by group_time


上述2种办法适合于任意维度的时间操作

关于本文更好的办法,直接 --但仅限于这种10分钟的

group BY LEFT(startTime,15) 

sql server 以10分钟分组 统计人数的更多相关文章

  1. sql server编写通用脚本自动统计各表数据量心得

    工作过程中,如果一个数据库的表比较多,手工编写统计脚本就会比较繁琐,于是摸索出自动生成各表统计数据量脚本的通用方法,直接上代码: /* 脚本来源:https://www.cnblogs.com/zha ...

  2. sql根据时间戳按年月日分组统计

    sql根据时间戳按年月日分组统计,用于按日期分类: create_time为时间格式(字段名create_time 根据自己表字段修改,数据库中存为201610071202) SELECT DATE_ ...

  3. SQL Server代理(10/12):使用代理账号运行作业

    SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 在这一系列的上一篇,你查看了msdb库下用 ...

  4. sql server 索引阐述系列八 统计信息

    一.概述 sql server在快速查询值时只有索引还不够,还需要知道操作要处理的数据量有多少,从而估算出复杂度,选择一个代价小的执行计划,这样sql server就知道了数据的分布情况.索引的统计值 ...

  5. SQL Server: Top 10 Secrets of a SQL Server Expert

    转载自:http://technet.microsoft.com/en-us/magazine/gg299551.aspx Many companies have downsized their IT ...

  6. SQL 计算两个时间之差 分类: SQL Server 2014-07-04 10:57 119人阅读 评论(0) 收藏

    SQL语句: A,B为两个字段,A为开始时间,B为结束时间,ss为秒. SELECT datediff(ss,A,B)  FROM Table 详细:http://www.w3school.com.c ...

  7. sql server varchar(10)和 nvarchar(10)存储数据长度

    ) 存储10个字母,英文标点符号等,5个汉字以及中文标点等. )存储10汉字.字母等,不区分中英文.

  8. sql server top 10 IO性能查询

    use master go ), ((case qs.statement_end_offset then datalength(qt.text) else qs.statement_end_offse ...

  9. sql server 按外键分组查询

    SELECT ROW_NUMBER() over(partition by a.yngrbsh order by a.SFRQ desc ) RN, c.' and a.LSH not in(sele ...

随机推荐

  1. java 递归

    package com.j1.soa.resource.cms.service.oracle; import com.j1.base.dto.ServiceMessage; import com.j1 ...

  2. MVC中的一些不同之处(WebForm)

    一. 路由重定向 /// <summary> /// 路由重定向 /// </summary> /// <returns></returns> publ ...

  3. java web当中表单提交到后台出现乱码的解决方法

    1.如果提交方式为post,想不乱码,只需要在服务器端设置request对象的编码即可,客户端以哪种编码提交的,服务器端的request对象就以对应的编码接收,比如客户端是以UTF-8编码提交的,那么 ...

  4. Xshell 5 免费版本安装过程

    发现本机的Xshell 5过期了用不了.在百度里搜索,下载安装后还是不可以使用.需要购买注册,后寻的一方法,分享给大家. 1.官网 进入官网,然后点击Download下方的Free License菜单 ...

  5. android:listView Button 焦点问题

    要想listView的item与其上的button皆能得到焦点响应: 在listView item 的布局中: 在<RelativeLayout>中 android:descendantF ...

  6. String.Split()函数 多种使用实例

    我们在上次学习到了 String.Join函数(http://blog.csdn.net/zhvsby/archive/2008/11/28/3404704.aspx),其中用到了String.SPl ...

  7. Python OS 文件/目录方法

    Python OS 文件/目录方法 os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os. ...

  8. 升级后重启造成fsck.ext3: Unable to resolve UUID

    这篇文章帮了我的大忙了:转载自:http://wilber82.blog.51cto.com/1124820/724472 今天在做服务器补丁部署,有一台ESX4.1的服务器在升级后重启过程中挂了,通 ...

  9. 提交代码到自己的github仓库

    说起来尴尬,好几年前就搞了github建了仓库,当时玩得还有点6,后来一直的公司都是svn,自己业务项目也没玩,都忘了要怎么提交代码到自己的仓库了. 这边再来一波记录吧. 一.配置用户名 git co ...

  10. Metaspolit使用简介

    信息收集阶段 Whois信息收集 msf auxiliary > whois baidu.com 域名信息查询阶段 msf auxiliary > nslookup www.baidu.c ...