我有这样的数据:检索最新记录每个客户
ID NAME DATE
3 JOHN 2011-08-08
2 YOKO 2010-07-07
1 JOHN 2009-06-06
码(用于SQL Server 2005):
DECLARE @TESTABLE TABLE (id int, name char(4), date smalldatetime)
INSERT INTO @TESTABLE VALUES (3, 'JOHN', '2011-08-08')
INSERT INTO @TESTABLE VALUES (2, 'YOKO', '2010-07-07')
INSERT INTO @TESTABLE VALUES (1, 'JOHN', '2009-06-06')
我想,每一个名称,编号有最近的DATE。像这样:
3 JOHN 2011-08-08
2 YOKO 2010-07-07
完成此操作的最优雅方式是什么?
+1对于保留字谨慎 – JNK
这是优雅的。它比JOIN 2版本更高效(更快)吗? –
@idevlop - 我认为速度将取决于您的索引而不是查询。我认为这与其他版本之间的差异应该是最小的性能。 – JNK