2012-04-02 2 views
1

내 데이터베이스에 사이트에 성공적으로 로그인 할 때 로그인 번호와 타임 스탬프를 삽입하는 테이블을 만들었습니다.월간 로그인 일 수를 계산하십시오.

난을 통해 데이터를 삽입하고 UNIX_TIMESTAMP

지금 주어진 달에 각 사용자에 대한 로그인의 수를 계산하는 쿼리를 만들 필요가

는 .. 키커 나는 단지 일 수를 추적 할 것입니다 사용자가 실제 로그인 횟수가 아닌 주어진 달에 로그인했는지 확인합니다.

내가 시작했다 쿼리,하지만 난 총 로그인의 수, 각 사용자가 로그인 한 달에 일의 단지 카운트 필요 없어요 : 당신이 COUNT(DISTINCT)을 원하는

SELECT login, COUNT(DAY(FROM_UNIXTIME(datestamp))) 
FROM logincount 
GROUP BY login 

답변

1

나는 생각합니다. 당신은 한달에 수를 원하는 경우

또한, 당신이 당신의 SELECTGROUP BY

SELECT 
    login, 
    MONTH(FROM_UNIXTIME(datestamp)) AS MonthOfYear, 
    COUNT(DISTINCT DAY(FROM_UNIXTIME(datestamp))) AS DaysInMonth 
FROM logincount 
GROUP BY login, MONTH(FROM_UNIXTIME(datestamp)) 
0

MONTH 기능을 추가 할 수 있습니다 당신은 사용할 수 있습니다

SELECT login,count(a) FROM (SELECT login, DAY(FROM_UNIXTIME(datestamp) AS a FROM logincount) sq GROUP BY login; 

가 일의 수를 얻을 수 각 로그인.

관련 문제