Ho una tabella comeCome ottengo diversi valori più alti da una tabella?
id f1
--------------
1 2000-01-01
1 2001-01-01
1 2002-01-01
1 2003-01-01
E voglio ottenere dire che le ultime 3 date in una fila
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
Stava cercando qualcosa di simile
SELECT T1.*,T2.*
FROM Test AS T1
LEFT OUTER JOIN Test AS T2 ON T1.id = T2.id AND (T2.f1 > T1.f1)
Perché deve essere tutto in una riga? Sarebbe molto più semplice avere solo una colonna. –
Penso che abbia molto più senso restituirli come righe e non 1 riga con più colonne. – dotariel
hai bisogno delle tre ultime date per ogni ID? (Ho notato che il tuo ID è sempre 1) –