집계를 사용하여 뷰에서 결과 계산 [닫기]


30

프로그래밍 방식이 아닌 집계를 사용하여 뷰에서 결과를 계산할 수 있습니까 (예 : 컨텐츠 유형 x의 노드를 계산할 수 있습니까)?


3
물론 집계 만 사용하고 "노드 ID"필드에 대해 "count"를 선택하십시오.
uwe

1
즉시 사용 가능한 뷰 내보내기를 포함하여 drupal.stackexchange.com/questions/15871/count-of-nodes-by-type 에서 동일한 Q & A 가 있습니다.
marcvangend

답변:


42

예.보기 3에서 즉시 사용할 수 있습니다.
아이디어는 SQL 집계와 동일합니다. 예를 보자.

  1. 보기를 편집하고보기 집계를 사용하십시오.
    조회수 집계 사용

  2. 기본 정렬 기준을 제거하십시오.

  3. "내용 : 유형"및 "내용 : Nid"필드 추가 : 여기에 이미지 설명을 입력하십시오
    내용 : Nid :에 대해 COUNT 기능을 선택하십시오. 여기에 이미지 설명을 입력하십시오

글로벌 뷰 설정 페이지에서“SQL 쿼리 표시”확인란을 선택하면 어떻게되는지 확인할 수 있습니다.

SELECT node.type AS node_type, COUNT(node.nid) AS nid
FROM 
{node} node
WHERE (( (node.status = '1') ))
GROUP BY node_type
LIMIT 10 OFFSET 0

따라서 node_type별로 노드를 그룹화하고이 그룹의 수를 계산합니다.


1
몇 시간 동안 붙어서 게시물을 읽은 후 기본 정렬이 있음을 깨달았습니다. 감사합니다 @kalabro
saadlulu

2
그래서 카운트는 어떻게 가능합니까-토큰 변수입니까?
therobyouknow

답장은 물론 정확합니다. 그러나 엔터티 참조 및 집계와 관계를 사용할 때 멈췄습니다. 블록을 만들면 제대로 작동하지만 페이지를 만들면 작동하지 않습니다. 이상한 것들.
Urb Gim Tam

10

원래 질문은 당신이하려고하는 것을 명시하지 않는하지만 여기에 큰 응답 에 카운트 값 . 아마도 당신은 그것을 표시하고 싶습니까?

그렇다면 다른 해결책이 있습니다.

보기가 이미 컨텐츠 유형의 항목별로 필터링하도록 설정되어 있다고 가정하면보기에 헤더를 추가하고 "글로벌 : 결과 요약"옵션을 선택하고 텍스트 영역에 제공된 토큰 변수를 사용할 수도 있습니다.


명확히하기 위해, 이것은 kalabro가 제공하는 훌륭한 솔루션을 확장하여 수를 표시합니다.
therobyouknow

-2

누군가가이 문제를 겪을 경우를 대비하여.

내가 사용 조회수 날짜 형식 SQL을 세분화에 날짜를 포맷 할 수 있습니다.

날짜 형식보기 SQL 모듈에서는 SQL을 사용하여 날짜 필드를 형식화 할 수 있습니다. 이렇게하면 선택한 세부 단위를 사용하여 날짜 필드에 대한 그룹 집계가 가능합니다.

핵심 기능은 render ()에서 날짜 형식을 제거하고이를 query ()에 넣는 것입니다. 즉, PHP의 format_date 대신 SQL의 DATE_FORMAT을 사용하여 날짜 값을 형식화하십시오.

이는 노드 'created'및 'changed'날짜 필드에 새 기본 핸들러를 지정하여 수행됩니다. 이 핸들러는 views_handler_field_date에서 뷰의 빌드를 확장하고 무시합니다.

바로 사용 가능-쉽게!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.