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
apache rewrite_module模块使用教程
Jan 10 PHP
php摘要生成函数(无乱码)
Feb 04 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
php采集内容中带有图片地址的远程图片并保存的方法
Jan 03 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
Zend Framework分发器用法示例
Dec 11 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 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
DedeCms模板安装/制作概述
2007/03/11 PHP
php设计模式 Singleton(单例模式)
2011/06/26 PHP
基于curl数据采集之单页面采集函数get_html的使用
2013/04/28 PHP
PHP多进程编程实例
2014/10/15 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
2016/03/18 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
python+opencv实现的简单人脸识别代码示例
2017/11/14 Python
python super的使用方法及实例详解
2019/09/25 Python
Python阶乘求和的代码详解
2020/02/14 Python
Python如何获取文件指定行的内容
2020/05/27 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
销售类个人求职信范文
2013/09/25 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
党性分析自查总结
2014/10/14 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
python实现剪贴板的操作
2021/07/01 Python