2017-06-17 76 views
0

我試圖在n和n + 6之間取記錄,意味着從上次讀取id到下6條記錄。例如在n和n + 6之間以條件mysql獲取記錄php

$id = 0 ; 

SELECT * FROM foo WHERE id BETWEEN($id+1)AND($id+6) 

result id: 1 , 2 ,3 , 4, 5, 6 

工作完美,如果我想如果想從最後一個ID記錄獲取到ID + 6,由於隨機記錄使用狀況像WHERE NUMBER_OF_ORDERS = 10

Result would be : 3,5,7,11,15,16 

現在。它不工作。下面是我的代碼。

SELECT * FROM foo WHERE id BETWEEN($id+1)AND($id+6) AND NUMBER_OF_ORDERS = 10 

它不工作

+1

見https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very -simple-sql-query – Strawberry

+0

你上次查詢給出的結果是什麼? –

回答

2

您可以嘗試使用極限,而不是在id字段條件;

SELECT * 
FROM foo 
WHERE id > ($id) AND NUMBER_OF_ORDERS = 10 
ORDER BY id ASC 
LIMIT 6 
+0

豎起大拇指,工作謝謝你 –