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 相关文章推荐
一个MYSQL操作类
Nov 16 PHP
PHP中str_replace函数使用小结
Oct 11 PHP
PHP实现定时生成HTML网站首页实例代码
Nov 20 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
简单实现限定phpmyadmin访问ip的方法
Mar 05 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
分割GBK中文遭遇乱码的解决方法
Aug 09 PHP
destoon调用自定义模板及样式的公告栏
Jun 21 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
Yii框架弹出框功能示例
Jan 07 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
使用vs code编辑调试php配置的方法
Jan 29 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
PHP5 的对象赋值机制介绍
2011/08/02 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
Jquery图形报表插件 jqplot简介及参数详解
2012/10/10 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
100行python代码实现跳一跳辅助程序
2018/01/15 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
对Python强大的可变参数传递机制详解
2019/06/13 Python
对Django外键关系的描述
2019/07/26 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
Python中logging日志库实例详解
2020/02/19 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
Python接口自动化测试的实现
2020/08/28 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
serialVersionUID具有什么样的特征
2014/02/20 面试题
电大毕业自我鉴定
2014/02/03 职场文书
学生吸烟检讨书
2014/09/14 职场文书
酒店辞职书范文
2015/02/26 职场文书
班主任寄语2015
2015/02/26 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
担保书怎么写 ?
2019/04/22 职场文书
springboot读取nacos配置文件
2022/05/20 Java/Android