oracle 조회: 그룹 조회, 각 그룹의 첫 번째 기록 꺼내기
방법1:
select type,min(code) from group_info group by type;
주의: select 뒤에 있는 열은 그룹 by 자구에 있거나 집합 함수로 포함해야 합니다. 그렇지 않으면 문법 오류가 발생할 수 있습니다.
방법2:
SELECT * FROM( SELECT z.type , z.code ,ROW_NUMBER() OVER(PARTITION BY z.type ORDER BY z.code) AS code_id FROM group_info z ) WHERE code_id =1;
여기에 언급된 오버 ()는oracle의 분석 함수입니다
sql reference 문서 참조:
Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group.
하나의 집합 함수 계산 값을 분석하는 것은 하나의 줄에 기초를 두고 있다.그들은 집합 함수와 달리 여러 줄의 그룹을 되돌려준다.
Analytic functions are the last set of operations performed in a query except for the final
ORDER
BY
clause. All joins and all WHERE
, GROUP
BY
, and HAVING
clauses are completed before the analytic functions are processed. Therefore, analytic functions can appear only in the select list or ORDER
BY
clause. 함수를 해석하는 마지막 작업에서 마지막 ORDER BY 자구를 제외한 질의를 수행합니다.모든 연결 및 지역, GROUP BY 및 이전에 분석 처리 기능을 완료한 약관이 있습니다.따라서 해석 함수는 선택 목록이나 ORDER BY 자문에만 나타날 수 있습니다.
구문 구조:
analytic_function ([ arguments ]) OVER
(analytic_clause)
그중에 analyticclause 구조는 다음과 같습니다.
[ query_partition_clause ]
[ order_by_clause [ windowing_clause ] ]
즉, 함수명([매개 변수]) 오버([구역 자구] [정렬 자구[슬라이딩 창 자구])
여기PARTITION BY가 안내하는 구역 자구는 집합 함수 중의 그룹 by와 유사하며, 정렬 자구는 select 문장 중의order by로 볼 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.