我有一个有两列的表:
UserId (auto int)
Email(Nvarchar) 
我想检索上次插入表格的电子邮件。
我尝试了一些选项,但似乎没有任何效果。
提前致谢。
也许很简单:
SELECT TOP 1 email FROM dbo.Table ORDER BY UserId DESC
或者
SELECT UserId, Email
FROM dbo.Table
WHERE UserId = (SELECT MAX(UserId) FROM dbo.Table)
但是,滥用主键列来获取诸如“最后插入”之类的信息并不是一个好习惯。为此添加一个日期时间列。
您还可以使用以下ROW_NUMBER功能:
WITH x  AS (
    SELECT UserId, Email,
        rn = Row_number() OVER(ORDER BY UserId DESC) 
    FROM   dbo.table) 
SELECT UserId, Email
FROM   x 
WHERE  rn = 1