지난 달 동안 그룹 당 한 달에 여러 값을 가진 10 개의 그룹에서 가장 높은 값을 보여주고 싶습니다.쿼리에서 집계 관련 문제
나는 내 방식대로입니다.
SELECT
Group, MAX(Value), Date
FROM
<relevant tables>
GROUP BY
Group, Date
그러나이 그룹에서 모든 반환은, 그 기간에 걸쳐 각에서 가장 높은이 필요합니다 (예를 들어 단지 '0007' '1002415.59' '2016년 11월 11일'는 0007 라인 중 하나에 대한)
0007 27456.14 2016-11-07
0082 2406.30 2016-11-07
0007 33038.34 2016-11-08
0082 569.37 2016-11-08
0007 1274.78 2016-11-09
0088 2266.00 2016-11-09
0007 124.57 2016-11-10
6082 2407.27 2016-11-10
0007 1002415.59 2016-11-11
0882 90.30 2016-11-11
0477 67.90 2016-11-12
0067 66.33 2016-11-13
이 수준의 집계로 고생하고 있습니다.
나는 올바른 방향으로 최소한의 움직임만으로 만족합니다. 열팽창 계수는 단지 현재의 로직을 캡슐화하는 데 사용됩니다
with t as (
SELECT . . .
FROM <relevant tables>
)
select t.*
from (select t.*,
row_number() over (partition by grp order by date desc) as seqnum
from t
) t
where seqnum = 1;
:
사용중인 dbms에 태그를 지정하십시오. –
어떤 dbms를 사용하고 있습니까? (이 솔루션은 제품의 기능에 달려 있습니다.) – jarlh
사과! – Khaelas