postgresql 그룹별로 그룹의 첫 번째 행을 선택하십시오
PostgreSQL에서 작전 별 그룹의 각 그룹의 첫 번째 행을 선택하는 것이 일반적인 요구 사항입니다. 이렇게하려면 Clause에서 강력한
구별을 사용할 수 있습니다.
SELECT DISTINCT ON (customer) id, customer, total
FROM purchases
ORDER BY customer, total DESC
clause의
이라면 어떤 표현이 복제로 간주되는지 정의 할 수 있습니다. 이 경우
customer 열을 지정합니다. 즉, 동일한
고객
주문에 의해
주문은 행이 처리되는 순서를 정의합니다. 각
고객 그룹의 첫 번째 행은 총 가치가 가장 높은 행입니다. 다중 행의 최대 총 값이 동일하면 결정적인 요소는
id
키 포인트
표현식은
순서에서 순서의 주요 표현식과 일치해야합니다.
주문은 각 그룹의 우선 순위를 결정하는 데 사용될 수 있습니다.
순서에
clause에 의해 목록에서
주문에 가 아닌 표현식을 포함시킬 수 있습니다.
,
및 id
열에 이르는 멀티 컬럼 인덱스는 최상의 성능을 제공합니다.
의 구별 메소드는 높은 열 가열성 (고객 당 소수의 행)을 가진 데이터에 매우 효율적입니다. 그러나
고객 열의 카디널리티가 낮은 데이터의 경우 (고객 당 많은 행 수) 다른 쿼리 기술이 더 효율적일 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3