반응형
사이트에 대한 사용자 활동의 일, 주, 월 및 연도별로 통계를 수집해야합니다. 저는 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
반응형
'MySql' 카테고리의 다른 글
MySQL Import of 8GB mysql dump takes a long time (0) | 2020.10.07 |
---|---|
MySQL Group by SUM (0) | 2020.10.07 |
MySQL delete duplicate records but keep latest (0) | 2020.10.07 |
MySQL How to efficiently determine changes between rows using SQL (0) | 2020.10.07 |
MySQL에서 자동 증가 형식을 0001로 설정하려면 어떻게해야합니까? (0) | 2020.10.07 |
댓글