是否可以在不使用Date字段的情况下获取关系表中的最后n个插入?
例如,在表Author
中:
Author(authid, f_name, l_name)
此外,authid不是自然数(例如1,2,3,4 ..),而是字符串(例如:JohnM32015)
我正在使用MySQL。
答案 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做到这一点。