Mysql 如何从选择中进行选择?
我正在创建一个评论系统,它将有两个顶级评论Mysql 如何从选择中进行选择?,mysql,sql,Mysql,Sql,我正在创建一个评论系统,它将有两个顶级评论 SELECT * FROM pagecomments WHERE page_id='$pageid' ORDER by date_entered desc , likes-dislikes DESC limit 2 如何选择最近的20行,然后从该选择中选择前2行(喜欢或不喜欢)?我可以用一个PHP循环来实现,但效率不高。目前,我只是从所有评论中选出前两位,但前两位的评论从未改变,因为人们刚刚投票选出了这两位: SELECT * FROM pagec
SELECT * FROM pagecomments WHERE page_id='$pageid' ORDER by date_entered desc ,
likes-dislikes DESC limit 2
如何选择最近的20行,然后从该选择中选择前2行(喜欢或不喜欢)?我可以用一个PHP循环来实现,但效率不高。目前,我只是从所有评论中选出前两位,但前两位的评论从未改变,因为人们刚刚投票选出了这两位:
SELECT * FROM pagecomments WHERE page_id='$pageid' ORDER BY likes-dislikes DESC LIMIT 2
编辑:表格按列“id”排序,该列是自动递增的。page_id是站点上的页面。抱歉。嵌套您的查询:
SELECT *
FROM (
SELECT *
FROM pagecomments
WHERE page_id='$pageid'
ORDER BY date DESC
LIMIT 20
) t
ORDER BY likes-dislikes DESC
LIMIT 2
订单不仅按喜好,还按输入的日期或时间戳排序。通过按日期订购,您可以确保获得最新的20条帖子或评论
SELECT * FROM pagecomments WHERE page_id='$pageid' ORDER by date_entered desc ,
likes-dislikes DESC limit 2
由于您的
id
列设置为auto_increment
,请在子查询中使用它:
select *, likes-dislikes
from (
select *
from pagecomments
where page_id='$pageid'
order by id desc
limit 20
) t
order by likes-dislikes desc
limit 2