2016-04-27 56 views
0

如果您檢查SELECT sqlite子句:https://www.sqlite.org/lang_select.html關於sqlite偏移 - 我不明白?

您將看到OFFSET要求EXPR。從數據庫查詢中獲得正確的結果。 當我去檢查什麼是EXPR。 (請看這個:https://www.sqlite.org/syntax/expr.html)我理論上應該有一種方法來表達一個函數後的偏移量。舉個例子:

select * from my_table limit 50 offset count(id); 

計數函數會給你數值,但我們知道這是不可能的。所以我的問題是:有什麼辦法可以添加函數來抵消,或者我是否從鏈接中以錯誤的方式讀取事物?

回答

-1

它一般不起作用。你必須在額外的查詢中選擇你的計數(id)。

如需更多幫助,看看這裏: Sqlite LIMIT/OFFSET query

+0

該鏈接與此問題無關。 –

1

可以使用的功能在LIMIT/OFFSET表達式:

SELECT 42 LIMIT length('x') OFFSET round(0.123); 

,因爲它是一個聚合的count()功能並不在這裏工作函數,並且在OFFSET子句中,沒有可以應用它的表或組。