抱歉,由于信誉不足,我无法将图片上传到此处,因此我将其上传到了我的域名。
我使用此查询来获取帖子的评论,按照喜欢和日期排序,并将其限制为7(此帖子有7条评论):
SELECT * FROM `comments` WHERE `post_id` = 19 ORDER BY `likes` DESC,`date` DESC LIMIT 0,7
结果还可以,直到现在没问题
但如果我想通过此查询向用户显示剩余评论:
SELECT * FROM `comments` WHERE `post_id` = 19 ORDER BY `likes` DESC,`date` DESC LIMIT 1,7
结果:kurdsofts.net/srd-mysql.jpg
默认情况下,它应该显示保留注释,而不显示当前注释,但答案再次包含7条注释。
即使是:
SELECT * FROM `comments` WHERE `post_id` = 19 ORDER BY `likes` DESC,`date` DESC LIMIT 2,7
结果:kurdsofts.net/4th-mysql.jpg
查询的答案包含5个答案,我不知道为什么 此帖子只有7条评论,对于 LIMIT 1,7 和 LIMIT 2,7 ,它应该回答空表行
任何人都可以帮助我,如果可以帮助我解决这个问题,我将非常感谢你
答案 0 :(得分:1)
我错了,我不知道LIMIT的第一个参数,是偏移的,我认为这是页码:所以我的查询命令有问题,这是错误的 我发现,如果我想向用户显示其他7条评论,或者如果没有评论,查询返回空行我应该多页面和我想要显示的有限数量的评论
对于前7条评论,我的查询应该是:
SELECT * FROM
comments
WHEREpost_id
= 19 ORDER BYlikes
DESC,date
DESC LIMIT 0,7
并显示另外7条评论我的查询应该是:
SELECT * FROM
comments
WHEREpost_id
= 19 ORDER BYlikes
DESC,date
DESC限制7,7
答案 1 :(得分:0)
您首先想要最喜欢的评论,然后是最新评论。您的(define a '(end))
;Value: a
(define b a)
;Value: b
(define c (cons a b))
;Value: c
c
;Value 15: ((end) end)
(set-car! (car c) 'HI)
;Unspecified return value
c
;Value 15: ((hi) hi)
(set-cdr! (cdr c) '(hello))
;Unspecified return value
c
;Value 15: ((hi hello) hi hello)
(set-cdr! c '(end))
;Unspecified return value
c
;Value 15: ((hi hello) end)
按相同字段排序所有评论。
您需要先找到您想要的那个,然后明确地将它们包含在order by
中:
order by