2017-04-24 6 views
0

저는 몇 년을 구해서 레코드 그룹 수를 얻기 위해 그룹을 적용하려고합니다. 이를 위해 내 SQL 쿼리입니다 -SQL 쿼리로 센스 쿼리를 생성하십시오.

select substr(lastModified,0,4) , count(*) from EOM group by substr(lastModified,0,4). 

나는입니다 위 대한 쿼리를 생성 -

 { 
"size":0, 
    "aggs": { 
     "profit": { 
      "scripted_metric": { 
       "init_script" : "_agg.transactions = []", 
       "map_script" : "_agg.transactions.add(doc.timeModified.date.getYear())", 
       "combine_script" : "return _agg.transactions" 

      } 
     }, 
     "aggs":{ 
      "terms":{ 
       "field":"profit" 
      } 
     } 
    } 
} 

결과 -

{ 
    "aggregations": { 
     "profit": { 
      "value": [ 
       [ 
        2014, 
        2015, 
        2016, 
        2015, 
        2017 

       ], 
       [ 
        2015, 
        2015, 
        2016, 
        2016, 
        2017 
       ] 
      ] 
     }, 
     "aggs": { 
      "doc_count_error_upper_bound": 0, 
      "sum_other_doc_count": 0, 
      "buckets": [] 
     } 
    } 
} 

그것은 년 나에게주고 있지만 이익에 aggrgation을 적용하지 및 버킷이 비어 있습니다.

나는 위의 SQL 쿼리에 대한 센스 쿼리를 원한다.

+0

위에 게시 된 쿼리 출력/오류가 무엇입니까? –

+0

@TimBiegeleisen 포스트 업데이트 !! –

+0

게시물 업데이트 !!!!!! –

답변

0

스크립팅 된 측정 항목 대신 날짜 범위 집계를 사용하지 않는 이유는 무엇입니까?

는 (유일한 단점은 수동 범위 섹션의 년을 제공해야한다는 것입니다)

+0

데이터 범위에 범위가 필요하며 시작일과 종료 연도 값이 색인에 포함되어 있지 않습니다. –

+0

범위를 1 년 단위로 지정하려는 경우 1 월 1 일부터 12 월 31 일까지 –

+0

업데이트 게시물을 지정하면 결과가 표시됩니다. 위와 나는 아니오를 원한다. 결과에서 반복되는 연도 수 (쿼리 별 그룹을 의미) –