0

我有一个有两列的表:

UserId (auto int)
Email(Nvarchar) 

我想检索上次插入表格的电子邮件。

我尝试了一些选项,但似乎没有任何效果。

提前致谢。

4

1 回答 1

0

也许很简单:

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 
于 2013-01-28T11:34:39.653 回答