情景是數(shù)據(jù)庫里有一系列的post(新聞?lì)悾?,現(xiàn)在想根據(jù)post表中有的post_date(時(shí)間),view(瀏覽數(shù)量),或者post_like表的likeCount進(jìn)行排序,并分批讀取數(shù)據(jù),limit在25
比如說post_date:
SELECT post.*, user.user_avatar, user.user_name,
(SELECT COUNT(*) FROM comment
WHERE comment.post_id = post.post_id) AS commentCount,
(SELECT COUNT(*) FROM post_like
WHERE post_like.post_id = post.post_id) AS likeCount
FROM post, user where post.user_id=user.user_id and post.post_date < "2018-04-05 12:12:35" order by post.post_date desc limit 25
這里post_date可以抓取最后一條的post_date用來做下次獲取的標(biāo)記值。
但是問題是:如果我想通過view或者likeCount排序分批讀取數(shù)據(jù),獲取的數(shù)據(jù)中沒有可以用來做標(biāo)記,拿來進(jìn)行下次對比的標(biāo)記值。
mysql語句如下:
SELECT post.*, user.user_avatar, user.user_name,
(SELECT COUNT(*) FROM comment
WHERE comment.post_id = post.post_id) AS commentCount,
(SELECT COUNT(*) FROM post_like
WHERE post_like.post_id = post.post_id) AS likeCount
FROM post, user where post.user_id=user.user_id order by likeCount desc limit 25
大家一般都是怎么解決的?謝謝
3 回答

梵蒂岡之花
TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
列表的分頁怎么實(shí)現(xiàn)的,這個(gè)就怎么實(shí)現(xiàn)。這個(gè)思路不會(huì)錯(cuò)

當(dāng)年話下
TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
比如總共有110條數(shù)據(jù),分頁每頁25條,那總共有5頁。頁面開始顯示的是 select from post order by view desc limit 0,25獲得的數(shù)據(jù)。頁面上滑的時(shí)候加載第二頁select from post order by view desc limit 25,25。加載更多的時(shí)候把limit第一個(gè)參數(shù)計(jì)算好應(yīng)該就可以了。已經(jīng)測試過了,是可以的。
- 3 回答
- 0 關(guān)注
- 1771 瀏覽
添加回答
舉報(bào)
0/150
提交
取消