"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PostgreSQL의 각 고유 식별자에 대한 마지막 행을 효율적으로 검색하는 방법은 무엇입니까?

PostgreSQL의 각 고유 식별자에 대한 마지막 행을 효율적으로 검색하는 방법은 무엇입니까?

2025-01-31에 게시
검색:663

How to Efficiently Retrieve the Last Row for Each Unique Identifier in PostgreSQL?

postgresql : postgresql에서 각 고유 식별자에 대한 마지막 행을 추출함으로써 정보를 추출 해야하는 상황이 발생할 수 있습니다. 데이터 세트 내 각각의 별개의 식별자와 관련된 마지막 행 다음 데이터를 고려하십시오 :

id date date date date date date date

1 2014-02-01 kjkj

1 2014-03-11 ajskj
1 2014-05-13 kgfd
2 2014-02-01 Sada
3 2014-02-01 SFDG
3 2014-06-12 FDSA


각각의 고유 한 정보의 마지막 행을 검색합니다. DataSet에서 ID는 연산자에 Postgres의 효율적인 별개를 사용할 수 있습니다. the_table에서 ID, DATE DESC;

이 쿼리는 다음 출력을 반환합니다. -01 SADA

3 2014-06-12 FDSA
select distinct on (id) id, date, another_info
from the_table
order by id, date desc;

약간의 성능을 희생 할 수있는 크로스-다 바이스 솔루션을 선호하는 경우 창 함수를 사용할 수 있다면 :

id, date, other_info를 선택하십시오 에서 ( ID, 날짜, 다른 _info, rn as as rn으로 row_number () over (date desc에 의한 ID 주문별 파티) the_table에서 ) t 여기서 rn = 1 id로 주문;

대부분의 경우 창 함수와 관련된 솔루션은 하위 쿼리를 사용하는 것보다 빠릅니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3