2012-08-12 4 views
1

나는 지난 5 년 동안 만들어진이 거대한 데이터베이스 레코드를 가지고 있습니다. 나는이 레코드에 대한 시간 카테고리/세그먼트를 만들려고 노력하는 것이 시원하고 (그리고 교훈을주는) 것이라고 생각하고있다. 단위는 주 또는 월이 될 수도 있고 그래프 용으로 사용할 수도있다.주어진 날짜 사이에 타임 스탬프가있는 모든 레코드를 가져 오려고 시도합니다.

어쨌든, 테이블의 각 레코드에 대해 datetime attr이 주어지면 datetime이 X와 Y 사이에있는 모든 레코드를 반환하도록 쿼리를 개발해야합니다 (2011 년 6 월 1 일 & 2011 년 6 월 7 일, 예를 들어).

아직 시간 도우미를 사용하는 데 익숙하지 않아서 SO 또는 다른 곳에서 충분히 비슷한 질문을 찾을 수 없습니다.

레일이을 이해할 수있는 "주"또는 "월"과 같이 주관적인 증가분을 사용하는 솔루션은 크게 감사하겠습니다. 캘린더가 프로그래밍에 얼마나 까다로울 수 있는지 알고 있습니다. 아니면 그냥 가장 낮은 공통 분모 (하루)를 사용하여 매우 훌륭한 그래프를 만들 수 있습니다.

+0

. 레일 및/또는 루비가 이렇게 우아한 루비 같은 방법을 가지고 있다면, 안으로 들어와주세요. 나는 또한 SQL 기반의 솔루션에 관심이 열려 있습니다. –

+0

레코드를 찾는 데 일 주일이나 월간 증가분은 무엇이 있습니까? 주어진 날짜 사이에 X & Y? –

+0

여기에서 출력하려고하는 그래프에서 x 축은 시간의 측면에서 측정됩니다 .... 시각적으로 사용자에게 시간의 덩어리는 몇 주, 몇 달 또는 몇 개월 만에 측정 될 수 있습니다. 일. 초가 아닙니다. –

답변

2
Client.where(:created_at => X..Y) 

출처 : 나는 현재 기본적으로 나에게 개별적으로 매일 쿼리하고 본질적으로 company_accts_created/일의 "속도"를 얻기 포함됩니다 LCD 방법에 일하고 있어요 Ruby on Rails Guides

+1

감사의 동지! 작동했습니다 ("20.days.ago..Time.now"). –

관련 문제