使用max key从表中获取价值

时间:2013-01-28 11:33:52

标签: tsql

我有一个包含两列的表格:

UserId (auto int)
Email(Nvarchar) 

我想检索上次插入桌面的电子邮件。

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

提前致谢。

1 个答案:

答案 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