2010-05-16 6 views
2

얼마나 많은 고유 한 값을 기반으로 데이터베이스의 요소를 계산MySQL이 필드에

내가 가진 테이블을 가지고 (제목에 대한 미안 해요, 난 정말 :-)이 어떻게 표현 해야할지 모르겠다) 날짜 및 uid 필드

SELECT COUNT(uid) FROM users where Date = 'xxx'; 

만 SQL로이를 달성 할 수있는 간단한 방법이 있나요 :

나는 현재 내가이 같은 여러 쿼리를 실행 PHP에서 그것을하고있어, 각 날짜에 대한 UID의 수를 얻을 필요 질문?

+0

고유 한 값 또는 총 행 수를 계산 하시겠습니까? 귀하의 제목과 귀하의 질문이 서로 모순됩니다. 아니면이 테이블에서'uid'가 유일합니까? 어떤 경우에도 차이는 없습니다. :) –

답변

4

GROUP BY 절을 사용하여 열이 날짜가

SELECT COUNT(DISTINCT uid) AS cnt 
FROM users 
GROUP BY `Date` 

경우에 당신이 DATE 기능을 사용해야합니다

SELECT Date, COUNT(uid) FROM users group by Date; 
+0

@ 0plus1 :이 값은 고유 값을 계산하지 않으며 ** 모든 ** 값을 계산합니다. 이것이 원하는 경우 일치시킬 질문의 제목을 조정해야합니다. –

0
SELECT Date, COUNT(uid) FROM users GROUP BY Date 
1

DISTINCT 사용하는 고유 값의 수를 계산하려면 날짜 부분 만 가져 오기 :

SELECT COUNT(DISTINCT uid) AS cnt 
FROM users 
GROUP BY DATE(`Date`)