2015-08-19 48 views
2

如何選擇後ArticleId特定的偏移量開始PostgreSQL的偏移特定列

e.g start from 28 get 28, 27, 26 

offset = 28; 
limit = 3; 

var query = 'SELECT * FROM "Article" ORDER BY "PublishDate" DESC LIMIT $2 OFFSET $1'; 

ArticleId | PublishDate 

25 | "2015-08-19 15:33:37" 
26 | "2015-08-19 17:05:42" 
27 | "2015-08-19 17:06:05" 
28 | "2015-08-19 17:06:22" 
29 | "2015-07-19 17:06:46" 
30 | "2015-08-19 17:08:11" 
+0

開始從26:26抵消限3 –

+0

無論28 ArticleId'的'基於'PublishDate'或'條款ArticleID的價值秩序' –

+0

@ ArticleId的印度值 – user1775888

回答

1

因爲它是可以做到這一點在where條款嘗試的ArticleId值這個

SELECT * 
FROM Article 
where ArticleId >= 28 and ArticleId <= 28 + 3 

或者如果ArticleId是不連續

SELECT * 
FROM Article 
where ArticleId >= 28 
Order by ArticleId Limit 3 
+0

是的,這是直接的方式,只要文章ID是連續的。 –

1

Th E「偏移」簡直是您應該在WHERE子句中限制條款ArticleID:

var query = 'SELECT * FROM "Article" WHERE ArticleId >= $1 ORDER BY "PublishDate" DESC LIMIT $2';