先上图
目的:查询出所有的帖子,将评论最多的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;
4 回答1.2k 阅读✓ 已解决
8 回答1.2k 阅读
3 回答1k 阅读✓ 已解决
2 回答1.7k 阅读
1 回答846 阅读✓ 已解决
2 回答1.2k 阅读
2 回答1k 阅读
建议先用临时表的方式,一次一次地排序,每次排序结果放在临时表里看看对不对,然后再进行下一次排序。
最后,把所有排序的SQL语句,优化为一条。