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 array_walk() 数组函数
Jul 12 PHP
20个PHP常用类库小结
Sep 11 PHP
纯PHP生成的一个树叶图片画图例子
Apr 16 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
在Windows系统下使用PHP生成Word文档的教程
Jul 03 PHP
php视频拍照上传头像功能实现代码分享
Oct 08 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
php实现文件管理与基础功能操作
Mar 21 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
PHP数组去重的更快实现方式分析
May 09 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 PHP
php获取用户真实IP和防刷机制的实例代码
Nov 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文件上传表单摘自drupal的代码
2011/02/15 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
JavaScript中Math对象使用说明
2008/01/16 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
JS实现程序暂停与继续功能代码解读
2013/10/10 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
javascript中SetInterval与setTimeout的定时器用法
2015/08/24 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
Vue.js实现tab切换效果
2019/07/24 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
python生成lmdb格式的文件实例
2018/11/08 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
事业单位分类改革实施方案
2014/03/21 职场文书
劳资协议书范本
2014/04/23 职场文书
在校实习生求职信
2014/06/18 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
预备党员党支部意见
2015/06/02 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python
Tomcat配置访问日志和线程数
2022/05/06 Servers
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang