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编程语言开发动态WAP页面
Oct 09 PHP
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
php开发环境配置记录
Jan 14 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
Jul 31 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
Sep 23 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
linux中cd命令使用详解
Jan 08 PHP
php实现的美国50个州选择列表实例
Apr 20 PHP
详解HTTP Cookie状态管理机制
Jan 14 PHP
老生常谈PHP 文件写入和读取(必看篇)
May 22 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
Apr 23 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
杏林同学录(五)
2006/10/09 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
nodejs npm package.json中文文档
2014/09/04 NodeJs
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
javascript实现画板功能
2020/04/12 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
[02:15]你好,这就是DOTA!
2015/08/05 DOTA
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
Python实现带百分比的进度条
2016/06/28 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
python+VTK环境搭建及第一个简单程序代码
2017/12/13 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
Python虚拟环境venv用法详解
2020/05/25 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
行政经理岗位职责
2013/11/09 职场文书
餐厅考勤管理制度
2014/01/28 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
离婚协议书样本
2015/01/26 职场文书
大学军训通讯稿
2015/07/18 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书