SQL语句统计一段时间内的记录数
实际应用中经常需要统计单位时间的记录数:
一个小时:
SELECT
CONVERT(VARCHAR(10),createdate,120) AS 日期 ,DATEPART(hh,createdate) AS 小时,COUNT(*)AS 记录 --varchar(10)得到结果为日期('2016-01-01')
FROM log --或者用DATE格式提取日期(VARCHAR(10)换成DATE)
where createdate>=(CONVERT(VARCHAR(10),createdate,120))+' 00:00:00' and
createdate<=(CONVERT(VARCHAR(10),createdate,120))+' 23:59:59'
GROUP BY CONVERT(VARCHAR(10),createdate,120),DATEPART(hh,createdate) orderby 日期,小时 --group by 不能用别名
半个小时:
SELECT
CONVERT(VARCHAR(10),createdate,120) AS 日期 ,DATEPART(hh,createdate) AS 小时,COUNT(*)AS 记录 --varchar(10)得到结果为日期('2016-01-01')
FROM log --或者用DATE格式提取日期(VARCHAR(10)换成DATE)
where createdate>=(CONVERT(VARCHAR(10),createdate,120))+' 00:00:00' and
createdate<=(CONVERT(VARCHAR(10),createdate,120))+' 23:59:59' GROUP BY CONVERT(VARCHAR(10),createdate,120),DATEPART(hh,createdate),DATEPART(mi,createdate)/30 --以每30分钟为一组进行统计 order by 日期,小时
一分钟:
SELECT
CONVERT(VARCHAR(10),createdate,120) AS 日期 ,DATEPART(hh,createdate) AS 小时,DATEPART(mi,createdate) AS 分钟,COUNT(*)AS 记录
--varchar(10)得到结果为日期('2016-01-01')
FROM log --或者用DATE格式提取日期(VARCHAR(10)换成DATE)
where createdate>=(CONVERT(VARCHAR(10),createdate,120))+' 00:00:00' and
createdate<=(CONVERT(VARCHAR(10),createdate,120))+' 23:59:59'
GROUP BY CONVERT(VARCHAR(10),createdate,120),DATEPART(hh,createdate),DATEPART(mi,createdate) orderby 日期,小时,分钟 --group by 不能用别名
参考:
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
可以使用的 style 值:
Style ID | Style 格式 |
---|---|
100 或者 0 | mon dd yyyy hh:mi AM (或者 PM) |
101 | mm/dd/yy |
102 | yy.mm.dd |
103 | dd/mm/yy |
104 | dd.mm.yy |
105 | dd-mm-yy |
106 | dd mon yy |
107 | Mon dd, yy |
108 | hh:mm:ss |
109 或者 9 | mon dd yyyy hh:mi:ss:mmmAM(或者 PM) |
110 | mm-dd-yy |
111 | yy/mm/dd |
112 | yymmdd |
113 或者 13 | dd mon yyyy hh:mm:ss:mmm(24h) |
114 | hh:mi:ss:mmm(24h) |
120 或者 20 | yyyy-mm-dd [hh:mi:ss(24h)] |
121 或者 21 | yyyy-mm-dd [hh:mi:ss.mmm(24h)] |
126 | yyyy-mm-ddThh:mm:ss.mmm(没有空格) |
130 | dd mon yyyy hh:mi:ss:mmmAM |
131 | dd/mm/yy hh:mi:ss:mmmAM |
实例
下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
结果类似:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
SQL语句统计一段时间内的记录数的更多相关文章
- SQL语句统计每天、每月、每年的 数据
SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月 ...
- 【转】SQL语句统计每天、每月、每年的数据
原文:https://www.cnblogs.com/Fooo/p/3435687.html SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(T ...
- mysql 操作sql语句 操作数据表中的内容/记录
#3. 操作文件中的内容/记录 往哪张表去插入 insert into 表名指定字段(id,name) 插入要加values(针对前面字段插入)(2,mike); insert into t1(id, ...
- SQL语句统计错误率
2018年的第一篇博客就以此作为开端吧 :D 最近在项目中碰到需要统计类似错误率之类的需求,原本这功能是之前做的,但是最近测的时候发现出了点问题,显示的结果不对.这就比较尴尬了... 于是就进行deb ...
- 简单Sql语句统计每年每个月的数据,每个月为数据的每列,简单SQL练习
有一张表,数据如下 请写出结果为以下的SQL语句. 在mysql中创建表 CREATE TABLE `aa` ( `id` int(10) NOT NULL AUTO_INCREMENT COMME ...
- 写sql语句统计各个学生各科成绩(case when用法)
尊重原创:http://blog.csdn.net/love_java_cc/article/details/78268326 有如下一张表score: 建表语句: CREATE TABLE `sco ...
- 利用zabbix API 统计一段时间内监控项的均值和峰值
#coding:utf-8 #给定主机IP获取一段时间内cpu的均值和峰值并写入文件(txt,可以跑完后直接把后缀名改为csv以表格形式打开):需要指定IP文件 import requests imp ...
- MySQL统计各个表中的记录数
通过下面的SQL语句可以统计出数据库的各个表中的记录数: select table_schema, table_name,table_rows from information_schema.tabl ...
- 判断mysqli函数里的sql语句是否有错和影响行数
<?php $mysqli=@new mysqli("localhost", "root", "123456", "xsph ...
随机推荐
- sql执行返回值存储
List<Map> list = SqlRunner.queryMapList(sql); if(list != null && !list.isEmpty()){ Has ...
- Android--创建对话框AlertDialog
学习Android过程中发现showDialog().onCreateDialog()这些方法从Android4.0开始都过时了. 官方推荐使用DialogFragment类来创建对话框. 1)布局文 ...
- 项目管理: Maven 让事情变得简单
http://maven.apache.org/, Maven其实就是为java实现的一个构建工具.他比Ant更高端. 目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具.遗 ...
- c# .NET 进行数据库备份和还原
本文主要内容来源stswordman的介绍,开发环境为10,数据库为08R2 原文地址http://www.cnblogs.com/stswordman/archive/2006/08/06/4690 ...
- ARM的QT phonon 的移植
Phonon是QT提供的一套多媒体框架,提供多媒体播放图形界面和回放的功能,QT也是通过phonon来实现跨平台的多媒体播放.应用程序不需要关心多媒体播放到底是由什么实现的(如gstreamer.xi ...
- Fragments | Android Developer
Definition A Fragment represents a behavior or a potion of user interface in an Activity. You can co ...
- 【转】SQL Server 2008下载 (附注册码)
SQL Server 2008 中文试用版下载地址:http://sqlserver.dlservice.microsoft.com/dl/download/B/8/0/B808AF59-7619-4 ...
- iptable怎么用?
iptables -A FORWARD -s 10.0.0.0/8 -p tcp --dport 80 -j DROP [拒绝转发来自10.0.0.0/8网段,目的端口是80的数据包]
- 实时阴影渲染(一):PSSM平行分割阴影图
PSSM(Parallel Split Shadow Map)平行分割阴影图,是一种根据距离远近采用多个深度纹理渲染阴影的方法 适合用于室外大场景中的平行光比如太阳形成的阴影 本系列需要读者了解基本的 ...
- 6-10k招几个.NET开发工程师(工作地点:成都)
目前工作的公司是一家做新加坡公司在成都的研发中心,目前有个项目组在做电子医疗记录(EMR)软件系统,在新加坡卖得还不错,由于以前版本的技术有障碍(主要采用WPF技术),目前老板决定投资用比较主流的技术 ...