是否可以在不使用日期字段的情况下获取关系表中的最后n个插入?
例如,在表Author中
Author(authid, f_name, l_name)此外,authid不是一个自然数(例如。1,2,3,4.)但是一个字符串(例如: JohnM32015)
我正在使用MySQL。
发布于 2015-03-20 00:01:54
表没有保证的排序顺序。如果一个查询显式地定义了一个查询,它就会这样做。例如,如果您的记录有一个递增的authid值,那么最后N个插入将是该列的最高N个值。所以你可以按那一列降序,取上面的N:
SELECT * FROM Author ORDER BY authid DESC LIMIT 10 然而,您定义了“最后一个N",您可以按照降序排序顺序在查询中指定该定义,并从该结果中获取最高的N个记录。
发布于 2015-03-20 00:01:28
如果authid是自动增量,那么您可以这样做。
select * from author
order by authid desc要获得有限数量的记录,例如在Server中使用top n或在MySQL中使用limit n。
发布于 2015-03-20 00:09:01
如果您想要“最近”的10条记录,您可以像其他答案那样编写查询,但是order by字段定义了“最近”的情况。如下所示:
SELECT * FROM MyTable ORDER BY <your date field(s)> DESC LIMIT 10;免责声明:如果表中没有数据来定义任何应该是“最近”记录(比如"DateInserted“字段或自动递增字段)的记录,那么您就没有一种简单的方法可以使用SQL来实现这一点。
https://stackoverflow.com/questions/29157136
复制相似问题