MySQL取前一條記錄是我們在實際開發中可能會遇到的問題。下面我們來介紹一些方法。
方法一:使用limit語句 SELECT * FROM table_name ORDER BY id DESC LIMIT 1,1; 意思是:先按照id倒序排序,然后從第二條記錄開始,只取一條記錄。這樣就可以取到前一條記錄了。 方法二:使用子查詢 SELECT * FROM table_name WHERE id=(SELECT MAX(id) FROM table_name WHERE id< current_id); 這里的current_id指的是當前記錄的id,所以這個方法比較靈活。首先我們找到當前記錄的id,然后在子查詢中找到小于當前id的最大id,然后在主查詢中取出這條記錄。 方法三:使用自連接 SELECT t1.* FROM table_name t1 INNER JOIN table_name t2 ON t1.id=t2.id-1 WHERE t2.id= current_id; 這個方法使用了自連接,通過聯結自己來找到前一條記錄。首先我們聯結自己,然后將t1的id 和 t2的id-1關聯,然后SELECT t1.*的所有字段即可。