有一个帖子的回复表,
posts(id , tid , subject ,message ,dateline),
其中:id为自动增长字段,tid为该回复的主体帖子的id(外键关联),subject为回复标题,message为回复内容,dateline为回复时间,用UNIX时间戳表示。
请写SQL,
选出按时间排序的前十个来自不同主题的最新回复;
随机选一条回复记录;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
目测1楼第一句不对,没有保证不同的主题,我是这么写的:
其实dateline和id应该顺序是一致的,可以考虑换成id,id上主键应该效率更高:
第2句个人觉得最好还是不用ORDER BY RAND(),数据量稍微多一点就会效率低下,因为这样写可以会导致多次扫描,这样写可能会好一点:
试试看,如果表数据过大不建议使用
ORDER BY RAND()
,你先试试这两句SQL
行不行。希望对你有帮助.楼上第一条回答目测不对吧,以下个人见解,欢迎点评指教