热线电话:13121318867

登录
2019-02-25 阅读量: 849
SQL分组排序、随机问题?

问题描述:

有一个帖子的回复表,
posts(id , tid , subject ,message ,dateline),
其中:id为自动增长字段,tid为该回复的主体帖子的id(外键关联),subject为回复标题,message为回复内容,dateline为回复时间,用UNIX时间戳表示。
请写SQL,

  1. 选出按时间排序的前十个来自不同主题的最新回复;
  2. 随机选一条回复记录;

解决方法:

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;
11.0007
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子