0
통계 모듈을 생성하는 중입니다. 내 일 중 하나는 지난 주 동안 등록 된 사용자의 합계로 플롯을 만드는 것입니다.
문제는 내가 소수의 고객 만 사용하고있는 서비스에 종사하고 있으므로 아무런 등록이 자주 발생하지 않는 날입니다.GROUP BY SELECT를 수행하는 동안 0 값 선택
표 설명 (간체)입니다 :
TABLE users:
============
id serial NOT NULL,
date_created timestamp with timezone NOT NULL DEFAULT NOW()
은 지난 7 일 동안 합계를 얻기 위해, 내가 포스트 그레스 예를 들어 반환
SELECT
COUNT(id) as ile,
DATE_TRUNC('day', date_created) as day
FROM
users
WHERE
date_created >= now() - INTERVAL '7 days'
GROUP BY 2
ORDER BY 2
모든 것이 잘 작동 사용
ile | day
===========================
2 | "2013-09-23 00:00:00"
1 | "2013-09-25 00:00:00"
0 카운트가 아닌 날을 제외합니다. 물론이 쿼리의 결과 (이 경우에는 PHP + Symfony)를 파싱해야하므로 원하는 날짜 범위를 반복하고 빈칸을 채울 수 있습니다. 간단한 방법으로 PostgreSQL에 요청하는 방법이 궁금합니다. 나 때문에 이런 식으로 뭔가를 반환
ile | day
===========================
2 | "2013-09-23 00:00:00"
0 | "2013-09-24 00:00:00"
1 | "2013-09-25 00:00:00"
0 | "2013-09-26 00:00:00"
0 | "2013-09-27 00:00:00"
0 | "2013-09-28 00:00:00"
0 | "2013-09-29 00:00:00"
을 > = 또는 <. 월요일이고 나는 오늘 새로운 것을 배웠습니다. 감사! :) 쿼리는 작동하지만 완벽하지는 않습니다. 잘못된 결과를줍니다. generate_series가 타임 존스로 타임 스탬프를 반환하고 타임 스탬프가 ** '사용자'관계에 ** 타임 존이 없기 때문에 발생했을 것입니다. 자기. 큰 감사를 드린다! – ex3v