84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
欢迎选择我的课程,让我们一起见证您的进步~~
建议先用临时表的方式,一次一次地排序,每次排序结果放在临时表里看看对不对,然后再进行下一次排序。
最后,把所有排序的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;
建议先用临时表的方式,一次一次地排序,每次排序结果放在临时表里看看对不对,然后再进行下一次排序。
最后,把所有排序的SQL语句,优化为一条。
可以主表左连接只有前三条记录的表,类似: