论坛帖子排序问题

先上图图片描述

目的:查询出所有的帖子,将评论最多的3个排前面,其余再让更新帖子时间排序,
我自己写的(如图,始终按评论[count_comment] desc)了 ,达不到我要的效果 ,应该怎么改???

阅读 2.2k
2 个回答

建议先用临时表的方式,一次一次地排序,每次排序结果放在临时表里看看对不对,然后再进行下一次排序。

最后,把所有排序的SQL语句,优化为一条。

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;

图片描述

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题