예를 들어, 테이블 등을 위해 : 대한선택 행
내가 col_a의 가치를 찾을 필요가ID | col_a | col_b | col_c
=============================
1 |5.0 |7.0 |3
2 |3.0 |6.8 |5
/col_b col_c에 누적 합계 주어진 값보다 작습니다.
select MAX(running_total) as max FROM (select (col_a/col_b) as val, SUM(col_c)
OVER (ORDER BY value ROWS UNBOUNDED PRECEDING) as running_total FROM tableName)
WHERE running_total < 50;
이 총을 실행하는 나에게 최대를 제공하지만이 running_total이 달성 된 행에 대한 발 (col_a/col_b)가 필요합니다 :
지금까지 내가 가지고있다.
이 쿼리에는 Amazon Redshift가 사용됩니다. mysql과 달리 val에 group by 절을 추가하지 않고 외부 select 문에 val을 배치 할 수 있습니다. 나는 쿼리의 전체적인 의미를 바꿀 그룹 by 절을 추가 할 수 없다. 비슷한 문제에
내가 찾은 솔루션 - Fetch the row which has the Max value for a column
대부분 이러한 솔루션 우리가 같은 테이블과 조인 다음 열에 대한 값과 일치하지만, running_total 열이 계산되고 거기에 가입 할 것을 제안 다시 계산해야합니까? 꽤 비싼 소리.