>  기사  >  백엔드 개발  >  PHP +MySQL 如何时间按天数分页?

PHP +MySQL 如何时间按天数分页?

WBOY
WBOY원래의
2016-06-06 20:20:321397검색

mysql 中有a表,有字段time,时间戳格式

如果数统计出记录跨度的天数,比如今天有n条记录产生,2015年12月1号,有m条记录产生,那么统计出来应该得到数是2,只为记录只 今天,和 2015年12月1号 这两天产生过记录。

比如今天有记录,昨天有记录,还有2015年12月1号 有记录,如何找出这‘前三天’的所有数据

.....后来自己想到一种...............................................

<code>mysql> SELECT FROM_UNIXTIME(inputtime,'%Y%m%d') day,COUNT(id) COUNT FROM c_content GROUP BY day order by day desc ;
+----------+-------+
| day      | COUNT |
| 20160111 |    28 |
| 20160109 |    41 |
| 20160108 |    44 |
| 20160107 |    52 |
| 20160106 |    42 |
| 20160105 |    49 |
| 20151229 |    39 |
| 20151228 |    35 |
+----------+-------+
24 rows in set</code>

得到数组 ,PHP用 count(array) 可以算总天数

<code>mysql> SELECT FROM_UNIXTIME(inputtime,'%Y%m%d') day,COUNT(id) COUNT FROM c_content GROUP BY day order by day desc limit 0,3;

+----------+-------+
| day      | COUNT |
| 20160111 |    28 |
| 20160109 |    41 |
| 20160108 |    44 |
+----------+-------+
3 rows in set</code>

得到“前三天”统计情况, 取出数组 头 (20160111 ),尾(20160108 ) 转成时间戳,

<code>$start ,$end;

SELECT * FROM c_content where inputtime between $end and $start;</code>

回复内容:

mysql 中有a表,有字段time,时间戳格式

如果数统计出记录跨度的天数,比如今天有n条记录产生,2015年12月1号,有m条记录产生,那么统计出来应该得到数是2,只为记录只 今天,和 2015年12月1号 这两天产生过记录。

比如今天有记录,昨天有记录,还有2015年12月1号 有记录,如何找出这‘前三天’的所有数据

.....后来自己想到一种...............................................

<code>mysql> SELECT FROM_UNIXTIME(inputtime,'%Y%m%d') day,COUNT(id) COUNT FROM c_content GROUP BY day order by day desc ;
+----------+-------+
| day      | COUNT |
| 20160111 |    28 |
| 20160109 |    41 |
| 20160108 |    44 |
| 20160107 |    52 |
| 20160106 |    42 |
| 20160105 |    49 |
| 20151229 |    39 |
| 20151228 |    35 |
+----------+-------+
24 rows in set</code>

得到数组 ,PHP用 count(array) 可以算总天数

<code>mysql> SELECT FROM_UNIXTIME(inputtime,'%Y%m%d') day,COUNT(id) COUNT FROM c_content GROUP BY day order by day desc limit 0,3;

+----------+-------+
| day      | COUNT |
| 20160111 |    28 |
| 20160109 |    41 |
| 20160108 |    44 |
+----------+-------+
3 rows in set</code>

得到“前三天”统计情况, 取出数组 头 (20160111 ),尾(20160108 ) 转成时间戳,

<code>$start ,$end;

SELECT * FROM c_content where inputtime between $end and $start;</code>

123456789

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.