본문 바로가기
MySql

MySQL 일, 주, 월, 연도 별 통계 보유를위한 데이터베이스 구조

by 베이스 공부 2020. 10. 7.
반응형

사이트에 대한 사용자 활동의 일, 주, 월 및 연도별로 통계를 수집해야합니다. 저는 DB 디자인 단계이고 코딩 생활을 더 쉽게 할 수 있기 때문에이 단계를 제대로하고 싶었습니다.

내가해야 할 일은 활동이 발생할 때마다 DB에서 필드의 값을 1 씩 증가시키는 것입니다. 그런 다음 매일, 매주, 매달, 연도별로 날짜를 가져올 수 있습니다. 내 DB는 어떻게 구성해야합니까? 이것이 대부분의 간단한 질문이라면 사과드립니다. 이 구조를 확장하여 다른 범주로 분류 할 수 있다면 좋을 것입니다.

문제가되는 부분은 매달 더 많은 날로 구성되어 있으며 요즘은 매년 달력이 변경됩니다.

도움이나 지시에 모두 감사드립니다.

기타 정보 : Linux Machine, PHP 및 MySQL 사용

 

해결 방법

 

일, 주 등의 수를 업데이트하는 대신 다음과 같이 활동이 발생할 때마다 테이블에 행을 삽입하십시오.

insert into activities (activity_date, activity_info) 
values (CURRENT_TIMESTAMP, 'whatever');

이제 보고서는 다음과 같이 매우 간단합니다.

select count(*) from activities
where activity_date between '2008-01-01' and '2008-01-07';

또는

select YEARWEEK(`activity_date`) as theweek, count(*)
group by theweek

 

참조 페이지 https://stackoverflow.com/questions/610679

 

 

반응형

댓글