SQL SERVER - 检索上次输入的数据

时间:2016-02-23 13:47:11

标签: sql-server

我已经搜索了很长时间才能在表格中输入最后输入的数据。但我得到了同样的答案。

SELECT TOP 1 CustomerName FROM Customers
ORDER BY CustomerID DESC;

我的方案是,如果Customers表只有CustomerName列,如何获取最后的数据?没有其他列,例如IDcreatedDate我按以下顺序输入了四个名称。

詹姆斯
阿伦
苏雷什
Bryen

现在我想选择上次输入的CustomerName,即Bryen。我怎么能得到它??

2 个答案:

答案 0 :(得分:0)

如果表格设计不正确(IDENTITYTIMESTAMP,使用SEQUENCE生成的标识符等),则SQL Server不会保留INSERT顺序。因此,如果没有一些标准可用于订购,“最后”记录毫无意义。

一种可能的解决方法是,如果偶然的话,此表中的记录链接到其他一些表记​​录(FK,1:1或1:n连接),并且该表具有时间戳或类似内容,您可以扣除插入顺序

有关“无条件订购”的详细信息,请参见herehere

答案 1 :(得分:-1)

用cte_new作为( select *,row_number()over(order by(select 1000))as new from tablename ) select * from cte_new where new = 4