文章标题SELECT sum(ord.order_price) as order_total_price, count(distinct ord.user_id) as user_total_num
2015-10-09 14:39
267 查看
需求:给一个开始时间(start_time)和一个结束时间(end_time)查询出该段时间内的所有记录,并且按天的形式显示出数据的统计。如图:
思路:
一:根据开始时间和结束时间计算出天数,然后按时间去数据库查取每天的所有记录并统计。但是这样有一个问题,怎么根据时间去算出天数,每个月的天数不一样的。
问题解决:先把开始时间换成“年月日”格式的日期,然后转换成时间戳形式,再以一天时间86400秒为单位进行循环,即可算出总共的天数。
二:直接通过mysql已有的函数进行查询
Author:
本文地址:http://blog.csdn.net/leedaning/article/details/48999905
思路:
一:根据开始时间和结束时间计算出天数,然后按时间去数据库查取每天的所有记录并统计。但是这样有一个问题,怎么根据时间去算出天数,每个月的天数不一样的。
问题解决:先把开始时间换成“年月日”格式的日期,然后转换成时间戳形式,再以一天时间86400秒为单位进行循环,即可算出总共的天数。
$norTime = $start_time; //开始时间当天凌晨时的时间戳 $day = 1; for($norTime; $norTime<$end_time; $norTime+86400){ $day++; }
二:直接通过mysql已有的函数进行查询
SELECT sum(ord.order_price) as order_total_price, count(distinct ord.user_id) as user_total_num ,sum(org.goods_number) as goods_total_num, count(distinct ord.order_id) as order_total_num, FROM_UNIXTIME(ord.add_time,'%y-%m-%d') AS dt FROM `order` ord, `order_goods` org WHERE ord.add_time>=$start_time and ord.add_time<=$end_time and ord.platform=$platform and ord.order_id=org.order_id GROUP BY dt ORDER BY dt
Author:
leedaning
本文地址:http://blog.csdn.net/leedaning/article/details/48999905
相关文章推荐
- Google System File 详解
- 史上最牛玩家 数学+密码学破译隐藏任务
- 用DexClassLoader实现加壳
- NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序
- 百度地图搜索地点导航
- 纯CSS实现气泡框
- PHP MYSQL数据字典
- 【转载】Android的 动画
- C#编程自学之类和对象
- LICEcap
- ThinkPHP去除url中的index.php
- <<给你个团队你能怎么管>>读书笔记-1
- logrotate 安装配置
- java拆箱装箱中的一个问题
- Birt报表
- CAS实现单点登录(SSO)经典完整教程
- 浅述extern C的用法 和 无导入表PE的实现
- Xenlism WildFire: Linux 桌面的极简风格图标主题
- Xenlism WildFire: Linux 桌面的极简风格图标主题
- 终极指南 - 怎样为iOS8应用制作预览视频