我有一个有两列的表:
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