2017-10-25 4 views
1

확실한 방법으로 열 대신에 certaint 열의 데이터를 기반으로 GROUP BY을 사용할 수 있었다면 나는 생각했다. 그래서 내 질문은 내가 certant 필드의 0 occurence을 기반으로 그룹을 만들 수 있습니다.열 대신 데이터로 그룹화 할 수 있습니까?

 DIA  MES  YEAR  TODAY TOMORROW ANALYSIS  LIMIT 
---------- ---------- ---------- ---------- ---------- ---------- ---------- 
     19   9  2016  111  988   0  150 
     20   9  2016  988  853  853  150 
     21   9  2016  853  895  895  150 
     22   9  2016  895  776  776  150 
     23   9  2016  776  954   0  150 
     26   9  2016  954  968  968  150 
     27   9  2016  968  810  810  150 
     28   9  2016  810  937  937  150 
     29   9  2016  937  769  769  150 
     30   9  2016  769  1020   0  150 
     3   10  2016  1020  923  923  150 
     4   10  2016  923   32   32  150 

등이이 경우에, 나는이 같은 그룹을 만들 것입니다 :

  • 그룹 1 (분석) : 0
  • 그룹 2 (분석) : 853, 895,776,0
  • 그룹 3 (분석) : 968,810,937,169,0
  • ...
+0

그래서 추가 : 테이블 이름은 (당신이 그것을 Google에 원하는 경우는 "시작의 그룹"방법이라고)이 같은 작업을해야합니다, tbl입니다 - 새 그룹이 있습니다. –

+0

intersting, 나는 그것이 작동 할 것이라고 생각한다 –

답변

1

가 가정 당신이 테이블에 값을 삽입 할 열 및 순서를

select 
from (select tbl.*, 
       count(case when analysis = 0 then 1 end) 
          over (order by year, mes, dia) as cnt 
     from tbl 
     ) 
where ... 
GROUP BY cnt 
; 
+0

그게 정확히 내가 원하는 걸. –