2014-09-12 4 views
3

안드로이드 DB에서 마지막 항목을 검색하려면 어떻게해야합니까? 모든 db 작업을 추상화하기 위해 Sugar ORM 라이브러리를 사용하고 있지만 db에서 가장 오래된 레코드를 검색하는 방법을 알 수없는 것처럼 보입니다.마지막 행 선택

답변

12

당신은 당신이 그것을 가지고, 또는 ID가있는 경우가 autoincrementing 경우, 약간의 타임 스탬프로 주문해야하고, 첫 번째 결과를 가지고 : 난 그냥 그것에 대해 생각

Thing.find(Thing.class, null, null, null, "timestamp DESC", "1"); 
0

기본 알고리즘은 내가 설탕 ORM에 익숙 해요

Get a list of all objects from the database 
Take the one with the "maximum" date 

, 그래서 내가 직접 코딩 이외의 특정 라이브러리를 사용하여이 작업을 수행하는 방법을 모르겠어요. 이것에 대한 SQL 쿼리는 상당히 간단합니다.

+0

합니다. 나는 또한 당신이 제시하고 오름차순으로 ID를 주문하고 하나로 제한하는 것처럼 모든 객체의 목록을 얻을 수 있습니다. 이것이 효율적입니까? –

+0

@MrSmith 목록을 정렬하는 것은 O (n * log (n))입니다. 이것을 선형 검색과 비교하여 O (n) 인 최대 값을 찾으십시오. 따라서 정렬은 효율적이지 않습니다. –