从表中选择n last linesChubb

时间:2015-03-19 23:59:31

标签: mysql sql

是否可以在不使用Date字段的情况下获取关系表中的最后n个插入?

例如,在表Author中:

Author(authid, f_name, l_name)

此外,authid不是自然数(例如1,2,3,4 ..),而是字符串(例如:JohnM32015)

我正在使用MySQL。

3 个答案:

答案 0 :(得分:1)

如果authid是自动递增,那么你可以

select * from author
order by authid desc

要获取有限数量的记录,请在SQL-Server中使用top n,或在MySQL中使用limit n

答案 1 :(得分:0)

没有保证排序顺序。 查询如果明确定义了一个查询。例如,如果您的记录具有递增的authid值,则最后N个插入将是该列的最高N值。所以你按照该列的顺序下降并取得前N:

SELECT * FROM Author ORDER BY authid DESC LIMIT 10 

但是,如果定义“最后N个”,则在查询中以降序排序顺序指定该定义,并从该结果中获取前N个记录。

答案 2 :(得分:0)

如果如你所说,你想要最近的"" 10条记录,您可以像其他答案一样编写查询,但是order by定义您的案例的字段是最近的"。像这样:

SELECT * FROM MyTable ORDER BY <your date field(s)> DESC LIMIT 10;

免责声明:如果您没有表中的数据来定义最新的&#34;最新的&#34;记录(比如&#34; DateInserted&#34;字段或自动递增字段),那么你真的没有办法用SQL做到这一点。