반응형
Rails에서 그룹화 및 계산
전에 본 적이 있지만 지금은 아무것도 찾을 수 없습니다. 특정 열로 쿼리를 그룹화하고 각 그룹에 몇 개가 있는지 표시 할 수 있기를 원합니다. 첫 번째 부분은 다음과 같습니다.
@line_items = @project.line_items.all(:group => "device_id")
이것은 라인 항목을 표시하는 테이블 인 내 라인 항목 인덱스보기를위한 것입니다. 광고 항목이 기기별로 그룹화되었으므로 해당 테이블에서 '수'에 대한 열을 만들려면 어떻게해야합니까?
및 의 순서가 지정된 해시를 반환하는 작업 count
을 수행 할 수 있습니다 .line_items
device_id
count
@project.line_items.group(:device_id).count
devise_id의 해시 키 및 관련 레코드 개수
@project.line_items.group(:device_id).count
:select
옵션을 추가하기 만하면됩니다 .
@line_items = @project.line_items.all(
:group => "device_id",
:select => "device_id, COUNT(*) as count"
)
그러면 각각 @line_item
에 count
속성이 있습니다.
이것도 시도해 볼 수 있다고 생각합니다.
@project.line_items.group(:device_id).pluck("device_id, count(device_id)")
^^ 이것은 'device_id 및 count'요소가있는 배열 배열을 제공합니다.
뭔가
User.all(:joins => :comments, :select => "users.*, count(comments.id) as comments_count", :group => "users.id")
작동 할 수도 있습니다 ...
카운트 뽑기 만 그룹 보다는 여기서 더 빠를 것입니다.
@project.line_items.pluck(:device_id).count
@project.line_items.pluck(:device_id).uniq.count
이 커밋 후 :
https://github.com/rails/rails/commit/a1c05dd8b9bd3623289d3aa73dda2943d620cc34
동일한 작업을 수행하는 새로운 방법이 있습니다.
@project.line_items.count(:group => LineItem.arel_table[:device_id])
참조 URL : https://stackoverflow.com/questions/2022334/group-and-count-in-rails
반응형
'programing' 카테고리의 다른 글
Android Studio에서 빌드 할 때 '해결 실패 : org.jetbrains.kotlin : kotlin-stdlib-jre7…'오류를 해결하는 방법 (0) | 2021.01.17 |
---|---|
변수에 레이블의 주소를 저장하고 goto를 사용하여 점프 할 수 있습니까? (0) | 2021.01.17 |
문자열을 고정 너비 문자 요소의 벡터로 자르기 (0) | 2021.01.17 |
주소 0에 액세스하고 싶을 수 있습니까? (0) | 2021.01.17 |
휘발성 롱을 사용하는 데 어떤 의미가 있습니까? (0) | 2021.01.17 |