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 相关文章推荐
PHP详细彻底学习Smarty
Mar 27 PHP
PHP 数组实例说明
Aug 18 PHP
php数字转汉字代码(算法)
Oct 08 PHP
php 保留字列表
Oct 04 PHP
解析如何在PHP下载文件名中解决乱码的问题
Jun 20 PHP
Yii使用CLinkPager分页实例详解
Jul 23 PHP
PHP+jquery+ajax实现即时聊天功能实例
Dec 23 PHP
php实现paypal 授权登录
May 28 PHP
php错误日志简单配置方法
Jul 11 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 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
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
PHP设计模式 注册表模式
2012/02/05 PHP
那些年一起学习的PHP(一)
2012/03/21 PHP
php引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
用jscript启动sqlserver
2007/06/21 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
js实现鼠标左右移动,图片也跟着移动效果
2017/01/25 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
JS中数据结构之栈
2019/01/01 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
对django中render()与render_to_response()的区别详解
2018/10/16 Python
python处理RSTP视频流过程解析
2020/01/11 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
Python telnet登陆功能实现代码
2020/04/16 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
如何在存储过程中使用Loop
2016/01/05 面试题
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
教师节校长致辞
2015/07/31 职场文书
考试后的感想
2015/08/07 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏