我正在尝试获取前N条记录(当按某些X列排序时),但结果设置却相反。以下语句是 不正确的 ,但可能说明了我的追求:, ^0 O/ A l5 Y2 p9 _ o; `
SELECT * FROM (SELECT TOP 10 * FROM FooTable ORDER BY X DESC) ORDER BY X ASC/ f; t" a# L" _; W3 L3 h# A7 T
例如,列X可以是ID或时间戳;我想要最新的10条记录,但希望它们按时间先后顺序返回。 & ^' U- i) U2 p2 S 1 v, c; U' x' R$ r/ H3 C/ Z 解决方案: x m5 e) {2 H! O8 V: m" L/ n
& M+ D0 B; D/ V: S" H! I7 ? " Q! `6 G9 B6 f) b, L2 L. S- a' h" Z; r; O/ V
SELECT * FROM 3 [; j- F- X2 { (SELECT TOP 10 * FROM FooTable ORDER BY X DESC) as myAlias ; B; o. ?- @# X) ~2 H& h6 b& ^
ORDER BY X ASC 6 g1 j0 V0 R( j% y! I3 ^, ~也就是说,您可能需要在子查询上使用别名,但除此之外,别名应该可以使用。