2012-12-21 2 views
1

DB에 각 로그인 세션에 시간과 날짜 스탬프가 저장되어있는 경우 사용자가 로그인 한 날짜 수를 구별하는 방법에 대해 고민하고 있습니다. (DATETIME 열). EG는 :PHP/MYSQL 그룹과 뚜렷한 날짜와 사용자로 계산

USERID | TIME | BOUGHT 
-------------------------- 
4 | 2012-07-16 04:44:52 | 3 
4 | 2012-07-16 04:45:52 | 2 
5 | 2012-07-16 04:54:52 | 5 
4 | 2012-07-18 04:44:52 | 3 
4 | 2012-07-18 04:45:52 | 2 
4 | 2012-07-21 04:54:52 | 5 

나는 사이트에서 구입 얼마나 많은 시간을 사용자 4 검색 할 - 및 (사용자 4가 사이트 3 일 총 방문 때문에) 쿼리 3을 반환해야합니다. PHP/MYSQL 조합을 사용해야합니까, 아니면 SQL로 할 수 있습니까?

답변

2
SELECT USERID, COUNT(DISTINCT DATE(TIME)) FROM my_table GROUP BY USERID 

sqlfiddle에서 확인하십시오.

+0

하지만 사용자 4를 검색 할 때 어떻게해야합니까? 예를 들어 사용자 4가 구입 한 시간을 확인하고 싶습니다. –

+0

[선택 날짜 (DISTINCT DATE (TIME)) FROM my_table WHERE USERID = 4 '] (http://sqlfiddle.com/#!2/8988b/4/0). – eggyal