Sql server 是否在不知道列名的情况下选择最后一条记录?

Sql server 是否在不知道列名的情况下选择最后一条记录?,sql-server,tsql,Sql Server,Tsql,我知道,我们可以使用范围标识,或按列名称desc排序的top 1,然后将给出最后一条记录 但我想这样: SELECT [LAST RECORD] * FROM [TABLE NAME] --> without any WHERE and ORDER MSSQL能做到吗?正如我最近在另一个问题中提到的,SQL表没有固有的顺序。在对表进行排序之前,没有“最后一条记录”这样的东西。正如我最近在另一个问题中提到的,SQL表没有固有的顺序。在对表进行排序之前,没有“最后一条记录”这样的东西。可

我知道,我们可以使用范围标识,或按列名称desc排序的top 1,然后将给出最后一条记录

但我想这样:

SELECT [LAST RECORD] * FROM [TABLE NAME]   --> without any WHERE and ORDER

MSSQL能做到吗?

正如我最近在另一个问题中提到的,SQL表没有固有的顺序。在对表进行排序之前,没有“最后一条记录”这样的东西。

正如我最近在另一个问题中提到的,SQL表没有固有的顺序。在对表进行排序之前,没有“最后一条记录”这样的东西。

可能吗?哦,那么,这意味着,无论如何,我必须按顺序排序或获取最后一个标识,以便。。。蒂希,很伤心,但我总是这样。我只是想知道是否有更好的方法不用排序记录。@Tim:答案不同,但想法相同@肯-数据库中的记录是无序的。它们在大多数情况下可能以相同的顺序显示给您(可能是聚集索引键顺序),但这并不能保证。获取前1行不会导致在SQL server中排序。排序意味着对成本为
O(n log(n))
的所有记录进行排序。但查找前1就像查找一个记录集的最小值或最大值,其代价为
Theta(n)
。也许吧?哦,所以,这意味着,无论如何,我必须按顺序订购或获取最后一个标识,以便。。。蒂希,很伤心,但我总是这样。我只是想知道是否有更好的方法不用排序记录。@Tim:答案不同,但想法相同@肯-数据库中的记录是无序的。它们在大多数情况下可能以相同的顺序显示给您(可能是聚集索引键顺序),但这并不能保证。获取前1行不会导致在SQL server中排序。排序意味着对成本为
O(n log(n))
的所有记录进行排序。但找到前1就像找到一个记录集的最小值或最大值,它的代价是θ(n)。哦,这意味着,无论如何,我必须按或获取最后一个标识,在哪里。。。蒂希,很伤心,但我总是这样。我只是想知道是否有更好的方法不需要排序记录。哦,所以,这意味着,无论如何,我必须按订单或获取最后一个身份在哪里。。。蒂希,很伤心,但我总是这样。我只是想知道是否有更好的方法不用排序记录。