我有这样如何从表中获得几个最高值?
id f1
--------------
1 2000-01-01
1 2001-01-01
1 2002-01-01
1 2003-01-01
一个表,我想说,最近3日在一排
CREATE TABLE Test
(
id INT NOT NULL,
f1 DATETIME NOT NULL,
)
INSERT INTO Test (id, f1) VALUES (1, '1/1/2000')
INSERT INTO Test (id, f1) VALUES (1, '1/1/2001')
INSERT INTO Test (id, f1) VALUES (1, '1/1/2002')
INSERT INTO Test (id, f1) VALUES (1, '1/1/2003')
SELECT T1.* FROM Test as T1
试图像
SELECT T1.*,T2.*
FROM Test AS T1
LEFT OUTER JOIN Test AS T2 ON T1.id = T2.id AND (T2.f1 > T1.f1)
为什么它必须全部排成一行?只有一列会容易得多。 – 2010-10-29 18:24:20
我认为将它们作为行返回更合理,而不是将多行返回1行。 – dotariel 2010-10-29 18:27:21
你需要每个ID的三个最新日期吗? (我注意到你的ID总是1) – 2010-10-29 19:23:46