先上图
目的:查询出所有的帖子,将评论最多的3个排前面,其余再让更新帖子时间排序,
我自己写的(如图,始终按评论[count_comment] desc)了 ,达不到我要的效果 ,应该怎么改???
先上图
目的:查询出所有的帖子,将评论最多的3个排前面,其余再让更新帖子时间排序,
我自己写的(如图,始终按评论[count_comment] desc)了 ,达不到我要的效果 ,应该怎么改???
PS: SQL 尽量用代码形式贴出来便于回答者修改
可以主表左连接只有前三条记录的表,类似:
SELECT a.*,
b.count AS new_count
FROM test a
LEFT JOIN
( SELECT * FROM test ORDER BY count DESC LIMIT 0, 3 ) b
ON a.id=b.id
ORDER BY new_count DESC,date DESC;
2 回答845 阅读
2 回答628 阅读
2 回答682 阅读
1 回答650 阅读
建议先用临时表的方式,一次一次地排序,每次排序结果放在临时表里看看对不对,然后再进行下一次排序。
最后,把所有排序的SQL语句,优化为一条。