我已经搜索了很长时间才能在表格中输入最后输入的数据。但我得到了同样的答案。
SELECT TOP 1 CustomerName FROM Customers
ORDER BY CustomerID DESC;
我的方案是,如果Customers表只有CustomerName
列,如何获取最后的数据?没有其他列,例如ID
或createdDate
我按以下顺序输入了四个名称。
詹姆斯
阿伦
苏雷什
Bryen
现在我想选择上次输入的CustomerName
,即Bryen
。我怎么能得到它??
答案 0 :(得分:0)
如果表格设计不正确(IDENTITY
,TIMESTAMP
,使用SEQUENCE
生成的标识符等),则SQL Server不会保留INSERT
顺序。因此,如果没有一些标准可用于订购,“最后”记录毫无意义。
一种可能的解决方法是,如果偶然的话,此表中的记录链接到其他一些表记录(FK,1:1或1:n连接),并且该表具有时间戳或类似内容,您可以扣除插入顺序
答案 1 :(得分:-1)
用cte_new作为( select *,row_number()over(order by(select 1000))as new from tablename ) select * from cte_new where new = 4