如何按创建顺序查询数据?
我在此表中没有创建日期的字段。
如果您没有存储插入时间或任何其他有关插入顺序的元数据的字段,则没有可靠的方法来获取此信息。
您可能依赖于聚集索引键,但不能保证这些。IDENTITY
字段或其他自动生成的字段都不是。
澄清一下,一个IDENTITY
字段会自动递增,但是......
IDENTITY_INSERT
如果 ID 字段是您的 PK,您可能可以使用它来大致了解一下:
SELECT *
FROM MyTable
ORDER BY IdField ASC
根据您的评论,该字段是GUID
. GUID
在这种情况下,由于s 本质上是随机且非顺序的,因此无法返回任何可靠的顺序。
您可以使用 NEWSEQUENTIALID()。
我遇到了这个问题,因为我面临同样的问题,这是对我有用的解决方案。
更改表并添加一IDENTITY(1,1)
列,当您添加它时,该标识列将自动填充现有行。它将按照插入记录的顺序排列。
它适用于我的情况,但不确定它是否适用于所有情况。