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数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
php获取ip及网址的简单方法(必看)
Apr 01 PHP
php删除数组指定元素实现代码
May 03 PHP
PHP 网站修改默认访问文件的nginx配置
May 27 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 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
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
Nodejs下DNS缓存问题浅析
2016/11/16 NodeJs
使用node.js搭建服务器
2017/05/20 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
Vue3为什么这么快
2020/09/23 Javascript
Python中random模块用法实例分析
2015/05/19 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
SQL语言面试题
2013/08/27 面试题
网络方面基础面试题
2012/11/16 面试题
Java编程面试题
2016/04/04 面试题
高中毕业自我鉴定范文
2013/10/02 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
《泉水》教学反思
2014/04/11 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
开工典礼策划方案
2014/05/23 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
学雷锋倡议书
2015/01/19 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
Django + Taro 前后端分离项目实现企业微信登录功能
2022/04/07 Python
Win11开始菜单添加休眠选项
2022/04/19 数码科技