根据SQL中的记录ID选择最后2条记录

时间:2019-08-07 18:43:06

标签: sql sql-server select

我想知道是否有一个查询,用于根据记录ID选择最后两个插入的记录。

例如,通过使用此查询,我们只能选择1条最高记录:

select max(colName) from tableName

但是对这个查询可能是什么:

select "Last two records of" colName where id = 1

因此,如果表中有100条记录,而ID号为1的我们有10条记录,那么我们应该获得ID号为1的最后两个插入记录。

如果有人理解我的问题,请帮助我。

注意:id不是我要从中获取记录的表中的唯一键或主键。

4 个答案:

答案 0 :(得分:1)

脚本应类似于以下内容

SELECT TOP 2 * 
FROM tableName
WHERE id = 1
ORDER BY colName DESC

答案 1 :(得分:0)

关于

select colName from tablename where id in (x,x-1)

假设您对主键使用自动递增

答案 2 :(得分:0)

如果您有专栏created_at,则可以执行类似的操作

select * from table where id = 1 order by created_at desc limit 2

应该可以为您提供最新插入的元素。您正在使用postgres,mysql,oracle吗?

答案 3 :(得分:0)

select top (2) * from <myTable> where id = 1 order by id DESC

这将返回最后2个插入的行,其中id = 1