現在我有2個疑問:SQL拿到鑰匙之前至少n個元素在一個查詢
SELECT * FROM (
SELECT login, permissions FROM User
WHERE login < ?
ORDER BY DESC login
LIMIT ?
) ORDER BY login
,第二個:
SELECT login, permissions FROM User
WHERE login >= ?
ORDER BY login
LIMIT ?
我想關鍵之前n
結果。
- 首先,我執行第一個查詢,限制爲
n
。 - 然後我看到我收到了多少個結果
results.count()
。 - 然後,如果需要(
remaining > 0
),我使用其餘密鑰let remaining = n - result.count()
執行第二個查詢。
可以在一個查詢中做到這一點?
例子:
1. a
2. b
3. c
4. d
get(key = 'a', limit = 2) would return a, b
get(key = 'c', limit = 2) would return a, b
get(key = 'd', limit = 2) would return b, c
get(key = 'd', limit = 3) would return a, b, c
第一查詢可是沒有選擇任何字段或你錯過了''? –
@JuanCarlosOropeza固定 - >是的,我錯過了,但在Orientdb這是有效的查詢,所以這就是爲什麼我忘了它。這也解釋了權限 - >在關係數據庫中將被視爲未規範化。 –
你知道'n'嗎?或者由'result.count'計算? –