【发布时间】:2011-01-21 11:21:10
【问题描述】:
我有这个问题:SELECT * FROM mash order by id asc limit 10
但我试图做的是选择最后插入的 10 条记录,但按 id asc 排序。
所以说数据是:13,4,4,5,6,78,4,23,21,1,1,2,3,4,5,65,6,7,3,而“3”是插入的最后一条记录,我怎么能从中选择1,1,2,3,4,5,65,6,7,3?
【问题讨论】:
-
你有没有重新编码插入时间戳的列?
-
除非您有一列以某种方式存储插入顺序(递增标识符还是时间戳?),否则无法编写此类查询。插入行的顺序不会自动存储在任何地方,因此您不能在不自己存储的情况下要求数据库按该顺序为您提供行。可能看起来如果您不指定顺序,您会按插入顺序取回数据,但这只是一个临时工件,从长远来看不会成立。
-
是的,我愿意,但我正在对数据做一些减法,所以我需要以特定方式订购它
-
如果您想使用它来为您编写基于它的查询,您需要告诉我们该广告订单的存储位置!
-
各位,不要假设上面的数据来自id列(他说select *)。 @benhowdle89,如果您能澄清这一点以消除这种混乱,将会很有帮助。
标签: mysql sql-order-by limit