2012-11-14 2 views
1

날짜에 대한 열과 고객 정보에 대한 열이있는 비즈니스에 대한 고객 방문 테이블이 있습니다.그룹화 된 데이터에 대한 통계를 얻는 방법

+------+---------------------+------+ 
| id | checkin    | name | ... 
+------+---------------------+------+ 
| 1 | 2010-01-01 00:12:00 | Joe | 
| 2 | 2010-01-01 00:18:00 | John | 
| 3 | 2010-01-01 00:22:00 | Jane | 
... 

일 요일별 통계, 즉 평균, 최소, 최대 방문수를 요일별로 나열하려고합니다. 비슷한 :

나는이 작업을 수행하기 위해 하위 쿼리 또는 조인을 사용해야한다고 생각하지만 방법을 알 수 없습니다.

이 쿼리는 내가

SELECT sum(total), max(total), min(total) 
from {above table} 
group by day. 

감사 같은 것을 실행해야 위의 결과에 각 일

SELECT dayname(checkin) as day, count(*) as total 
FROM customer_log 
group by date(checkin) 

에 대한 방문을 총 것이다!

답변

1

이 밖으로 시도 : 완벽

SELECT dayname(checkinDate) day, 
    sum(visitsPerDay) totalVisits, 
    avg(visitsPerDay) avgVisits, 
    max(visitsPerDay) maxVisits, 
    min(visitsPerDay) minVisits 
FROM (
    SELECT date(checkin) checkinDate, count(*) visitsPerDay FROM Customer_log 
    GROUP BY checkinDate 
) AS visitsPerDaySub 
GROUP BY dayofweek(checkinDate) 

+1

작품. 정말 고마워. –

관련 문제