mongodb和mysql查詢當前記錄的上一條和下一條

思路:根據當前記錄的id查詢先後記錄。mysql

mongodb實現方法:

mongo能夠經過時間或者經過id來判斷上一條記錄或者下一條記錄:sql

經過記錄的_id

上一條記錄mongodb

db.數據庫名稱.find({ '_id': { '$lt': ids } }).sort({_id: -1}).limit(1)

下一條記錄數據庫

db.數據庫名稱.find({ '_id': { '$gt': ids } }).sort({_id: 1}).limit(1)

經過時間字段來查詢:

上一條記錄code

db.數據庫名稱.find({ 'created': { '$lt': created } }).sort({_id: -1}).limit(1)

下一條記錄it

db.數據庫名稱.find({ 'created': { '$gt': created } }).sort({_id: 1}).limit(1)

mysql實現方法:

mysql查詢,網上有不少方法,一般咱們用以下方法:io

查詢上一條記錄的SQL語句(若是有其餘的查詢條件記得加上other_conditions以避免出現沒必要要的錯誤):table

select * from table_a 
    where id = 
        (select id from 
            table_a where id < {$id} [and other_conditions] 
            order by id desc limit 1
        ) 
   [and other_conditions];

查詢下一條記錄的SQL語句(若是有其餘的查詢條件記得加上other_conditions以避免出現沒必要要的錯誤):select

select * from table_a 
    where id = 
        (select id from table_a 
            where id > {$id} [and other_conditions] 
            order by id asc limit 1
        ) 
    [and other_conditions];
相關文章
相關標籤/搜索