如何在没有自动增量ID的情况下获取最后4条记录

时间:2012-04-05 16:40:22

标签: php sql

我有一个主键不会自动增加的表。这里PK是seeker_nic 我想得到这张桌子的最后4条记录..

 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

如果表具有自动增量的id(PK),我可以这样做...但我不知道如何使用此PK seeker_nic来获取记录...

1 个答案:

答案 0 :(得分:1)

自动增量不是问题。问题是关系数据库中的行没有隐含的顺序,因此除非您有一个包含该信息的列,否则无法确定哪些是“最后4条记录”。

根据您在问题中提供的信息,数据库无法订购您的记录:可以命令seeker_nicname以您希望的方式为您提供记录

如果您有可以订购的列,例如creation_dateid列,则可以执行以下操作:

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

仅仅因为你有一个自然键(seeker_nic),并不意味着你不能拥有一个自动递增的代理键。

如果您没有可以确定如何订购列的列,那么您运气不佳。