>  기사  >  백엔드 개발  >  날짜별로 그룹화된 데이터를 출력하기 위해 PHP 데이터베이스 통계 타임스탬프를 구현하는 방법

날짜별로 그룹화된 데이터를 출력하기 위해 PHP 데이터베이스 통계 타임스탬프를 구현하는 방법

黄舟
黄舟원래의
2017-10-10 09:02:402586검색

이 글에서는 주로 PHP 시간 기반 작업과 데이터베이스 쿼리 관련 작업 기술을 포함하여 데이터베이스 통계 타임 스탬프를 구현하여 데이터를 날짜별로 그룹화하는 방법을 소개합니다.

이 글에서는 그 예를 설명합니다. 데이터베이스 통계를 구현하는 PHP Timestamp 메소드를 사용하여 출력 데이터를 일별로 그룹화합니다. 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

예를 들어 매일 사용자 등록 수를 계산하기 위해 데이터베이스 테이블은 사용자 등록 기록 테이블을 저장합니다.


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 = &#39;select count(*) from table_name where register_time>= &#39;.$i.&#39; and register_time < &#39;.$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 = &#39;select count(id) as register_count, FROM_UNIXTIME(register_time, &#39;%Y-%m-%d&#39;) as datetime from table_name where register_time>= &#39;.$startUnix.&#39; and register_time < &#39;.$endUnix group by datetime;
// 执行查询
...

위 내용은 날짜별로 그룹화된 데이터를 출력하기 위해 PHP 데이터베이스 통계 타임스탬프를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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