1
레일즈 3 애플리케이션에 다음 코드가 있습니다.레일 3 활성 레코드 및 합계
- 주문 먼저 가장 높은 total_payments에 의한 결과 :
나는 다음과 같은 달성하기 위해 노력하고 있습니다.@clinical_healthplan_spend = Clinical.select("ClientKey as client_key, PVID as animal_key, sum(Payments) as total_payments") .where("ClinicalText LIKE 'Paid by PET HEALTH' AND PVID != 44444") .order("sum(Payments) DESC") .group("animal_key")
- 제한 제 요구하기위한 적어도 1500
의 total_payment 값을 기록하여 테이블;
.order("sum(Payments) DESC")
는 일을하고도 두 번째 요구를 들어
.order("total_payments DESC")
을하지 않는다;
.where("total_payments > 1500")
이 작동하지 않습니다.
조건을 적절한 위치에 두거나 합계 옵션을 사용할 때 다른 방법이 있습니까?
도움이 될 것입니다.
그게 효과가 있었지만, "당신 그룹에서는 합계가없는 모든 필드를 포함해야합니다."라고 설명 할 수 있습니까? – dannymcc
'animal_key'와'client_key'의 조합에 대한 합계 (총계 함수 (http://en.wikipedia.org/wiki/Aggregate_function))를 보여주고 싶습니다. 따라서'animal_key'와'client_key' 둘 다'GROUP BY'해야합니다. 이해하니? – Mischa
예, 그렇게 생각합니다. 설명 주셔서 감사합니다! – dannymcc