我有一个包含两列的表格:
UserId (auto int)
Email(Nvarchar)
我想检索上次插入桌面的电子邮件。
我尝试了一些选项,但似乎没有任何工作。
提前致谢。
答案 0 :(得分: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