2012-12-11 3 views
2

7 일 간격으로 특정 날짜에 등록 된 총 사용자 수를 반환하는 쿼리가 있습니다. 또한 제 그래프에 그래프를 그릴 수 있도록 제로 카운트 데이터를 얻고 싶습니다. 제로 카운트 값을 가져 오는 방법은 무엇입니까?SQL 쿼리에서 수정이 필요합니다.

쿼리가

:

select date(update_timestamp) as date, count(*) users 
from registered 
where date(update_timestamp) between date_sub(sysdate(), interval 7 day) and sysdate() 
group by date(update_timestamp) 
나는이 게시물 http://bit.ly/12irdyf 국지적 인 문제에 해결되었다 이전에 내 질문에 몇 가지 문제가 해결했다

,하지만 난 내 쿼리에서 수정이 필요, 지금은 널 (null)을 보여줄 필요 값도 포함됩니다.

감사합니다.

+0

어떤 데이터베이스 엔진입니까? –

+0

@DanielPPCabral MySQL –

답변

3

올해의 각 날짜에 대한 항목이있는 calender_table을 유지하는 가장 좋은 방법입니다.

select date(update_timestamp) as date, count(*) users 
from  calender_table c 
left join registered r 
on  date(update_timestamp)=c.date 
where  c.date between date_sub(sysdate(), interval 7 day) and sysdate() 
group by c.date 
+0

내 u가이 쿼리를 사용하여 데이터 소스에 내 차트를 바인딩했습니다. - db : \ –

+1

@Vinayak : 데이터베이스에 calender_table을 만듭니다. http://creative-territory.net/post/view/id/31/ –

+0

이 링크를 참조하십시오. , 그러나 새 테이블을 추가하거나 데이터베이스를 수정할 수 없습니다 ... ... (u 이것에 대한 다른 해결책이 있습니까? –

0

제로 카운트 값이란 무엇을 의미합니까? 어쩌면 당신이 필요합니다 :

select date(update_timestamp) as date, count(*) users, '0' AS zero 

어쩌면 당신은 사용자가 없었을 때 어떤 날짜를 가져오고 싶었 을까?

첫 번째 사용자가 등록되기 전에 날짜를 찾아 위와 같이 0을 지정하기 만하면됩니다.

+0

예를 들어, 2010 년 12 월 12 일에 등록 된 사용자가 2 명이고 12/10/2012에 3 명의 사용자가 등록되어 있습니다. 이제 내 쿼리에이 두 카운트 값만 표시됩니다 (7 일 간격으로). 카운트가 0 인 나머지 날짜 값을 표시하고 싶습니다. –

+2

이제 알았습니다. 조는 좋은 대답을했습니다. –

관련 문제