2012-04-05 2 views
1

자동 증가가 아닌 기본 키가있는 테이블이 있습니다. 다음 표는 자동으로 ID (PK)을 한 경우 자동 증분없이 마지막 네 개의 레코드를 가져 오는 방법

SEEKER 
    seeker_nic  Name 
    --------------------- 
    81025   ali 
    81013   bilal 
    87651   hamza 
    78911   biya 
    98726   saqib 
    62528   mirza 

내가이

seeker_nic  Name 
--------------------- 
87651   hamza 
78911   biya 
98726   saqib 
62528   mirza 

내가이 작업을 수행 할 수 원하는 ... PK는 seeker_nic 내가이 테이블의 마지막 4 개 기록을 얻으려면 증분 ... 그러나 나는이 PK로 기록을 얻는 방법을 모른다. seeker_nic ...

+0

테이블 스키마의 일부로 타임 스탬프 열이 있습니까? –

+0

이 테이블에 다른 열이 있습니까? – NullUserException

+0

SQL 쿼리를 created_at로 정렬하고 결과를 4로 제한 할 수 있습니까? – rapcal

답변

1

자동 증가는 문제가되지 않는다. 문제는 관계형 데이터베이스의 행에는 암시 적 순서가 없으므로 해당 정보가있는 열이 없으면 어느 것이 "마지막 4 개 레코드"인지를 판별 할 수 없습니다.

질문에서 귀하가 제공 한 정보를 통해 데이터베이스에서 레코드를 주문할 수있는 방법이 없습니다. seeker_nicname도 주문할 수 있습니다. 당신이 creation_date 또는 id 열처럼, 주문 수있는 열이 있다면

, 당신은 할 수 :

SELECT seeker_nic, name 
    FROM seeker 
ORDER BY <column_here> DESC 
    LIMIT 4     -- syntax may vary depending on RDMBS 

당신이 (seeker_nic)를 자연 키가 그냥 있기 때문에, 의미하지 않는다 당신은 '수 자동 증가 대리 키가 있습니다.

열을 정렬하는 방법을 결정할 수있는 열이없는 경우 행운이 없습니다.

+0

suggesstion ....에 대한 ok thnx – maham

관련 문제