私は、CreatedDateに基づいてSQLテーブルに挿入された最新のレコードを取得しようとしています。たとえば、次の表では、3行目を取得したいと考えています。CreatedDateフィールドの助けを借りて挿入された最新の行を取得
A B C 2009-05-04 19:30:52.847
A B D 2009-05-04 19:30:55.050
A B E 2009-05-04 19:30:57.003
私は動作するクエリがありますが、同じ結果を得るためのよりよい方法があるかどうかは疑問です。以下は私のテストで今使用しているテーブル、データ、およびクエリです。これを行うための良い方法はありますか?
CREATE TABLE TestTable (
ColumnA NVARCHAR(10),
ColumnB NVARCHAR(10),
ColumnC NVARCHAR(10),
CreatedDate DATETIME DEFAULT Getutcdate())
INSERT INTO TestTable(ColumnA, ColumnB, ColumnC) VALUES ('A', 'B', 'C');
INSERT INTO TestTable(ColumnA, ColumnB, ColumnC) VALUES ('A', 'B', 'D');
INSERT INTO TestTable(ColumnA, ColumnB, ColumnC) VALUES ('A', 'B', 'E');
SELECT *
FROM TestTable
WHERE CreatedDate = (SELECT Max(CreatedDate)
FROM TestTable
WHERE ColumnA = 'A'
AND ColumnB = 'B'
GROUP BY ColumnA,
ColumnB)
ありがとうございます!