PHP实现数据库统计时间戳按天分组输出数据的方法


Posted in PHP onOctober 10, 2017

本文实例讲述了PHP实现数据库统计时间戳按天分组输出数据的方法。分享给大家供大家参考,具体如下:

比如统计每天用户注册数,数据库表存了一张用户注册记录表:

create table table_name(id int primary key,register_time int(10));

register_time记录的是时间戳,以前的做法是,接收查询开始时间、查询结束时间,然后循环查询每天的注册数量,代码:

/* 查询2015-12-01 至 2015-12-14 */
// 开始的时间戳
$startUnix = 1448899200; // 2015-12-01 00:00:00
// 结束的时间戳
$endUnix = 1450108800; // 2015-12-15 00:00:00
for($i = $startUnix; $i < $endUnix; $i += 86400){ // 86400为1天的秒数
 // 查询
 $sql = 'select count(*) from table_name where register_time>= '.$i.' and register_time < '.$i + 86400;
 // 执行查询
}

这种方法的弊端就是,查询开始于结束的日期相差多少天就查询检索数据库多少次。

优化方法:

/* 查询2015-12-01 至 2015-12-14 */
// 开始的时间戳
$startUnix = 1448899200; // 2015-12-01 00:00:00
// 结束的时间戳
$endUnix = 1450108800; // 2015-12-15 00:00:00
$sql = 'select count(id) as register_count, FROM_UNIXTIME(register_time, '%Y-%m-%d') as datetime from table_name where register_time>= '.$startUnix.' and register_time < '.$endUnix group by datetime;
// 执行查询
...

查询时把时间戳转成天,最后group by 分组,得到每天的注册id数,查询数据库一次

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php5数字型字符串加解密代码
Apr 24 PHP
MySql中正则表达式的使用方法描述
Jul 30 PHP
PHP 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
PHP中文件缓存转内存缓存的方法
Dec 06 PHP
使用PHP curl模拟浏览器抓取网站信息
Oct 28 PHP
19个超实用的PHP代码片段
Mar 14 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 PHP
PHP实现无限极分类图文教程
Nov 25 PHP
PHP文件缓存类实现代码
Oct 26 PHP
PHP对象实例化单例方法
Jan 19 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
Feb 15 PHP
PHP const定义常量及global定义全局常量实例解析
May 28 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 #PHP
PHP字典树(Trie树)定义与实现方法示例
Oct 09 #PHP
PHP完全二叉树定义与实现方法示例
Oct 09 #PHP
PHP实现的折半查询算法示例
Oct 09 #PHP
PHP实现的MD5结合RSA签名算法实例
Oct 07 #PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
Oct 07 #PHP
PHP实现打包下载文件的方法示例
Oct 07 #PHP
You might like
利用PHP将部分内容用星号替换
2020/04/21 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
php 算法之实现相对路径的实例
2017/10/17 PHP
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
bootstrap datetimepicker控件位置异常的解决方法
2017/11/23 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
Python的Django中将文件上传至七牛云存储的代码分享
2016/06/03 Python
Python实现的科学计算器功能示例
2017/08/04 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
Html5之title吸顶功能
2018/06/04 HTML / CSS
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
爱国卫生月实施方案
2014/02/21 职场文书
生日主持词
2014/03/20 职场文书
运输服务质量承诺书
2014/03/27 职场文书
幼师求职信
2014/06/23 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
个人批评与自我批评
2014/10/15 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
员工工作心得体会
2019/05/07 职场文书
导游词之太湖
2019/10/08 职场文书
MySQL时区造成时差问题
2022/04/13 MySQL