2019-02-25
阅读量:
849
SQL分组排序、随机问题?
问题描述:
有一个帖子的回复表,
posts(id , tid , subject ,message ,dateline),
其中:id为自动增长字段,tid为该回复的主体帖子的id(外键关联),subject为回复标题,message为回复内容,dateline为回复时间,用UNIX时间戳表示。
请写SQL,
- 选出按时间排序的前十个来自不同主题的最新回复;
- 随机选一条回复记录;
解决方法:
select t2.* from (select tid,max(dateline) maxDateline from posts group by tid order by maxDateline desc limit 10)t1 inner join posts t2 on t1.tid=t2.tid and t1.maxDateline=t2.dateline;
SELECT * FROM posts WHERE id >= ((SELECT MAX(id) FROM posts)-(SELECT MIN(id) FROM posts)) * RAND() + (SELECT MIN(id) FROM posts) LIMIT 1;






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论