0

2つの列を持つテーブルがあります。

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 に答える