请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

nysql 分组查询,返回每个组最新的5条数据

nysql 分组查询,返回每个组最新的5条数据 SQL语录改怎么写,网上查了些资料但是都没看明白

正在回答 回答被采纳积分+3

2回答

提问者 幕布斯6144347 2018-03-05 09:43:27

就是您给我发的面试题里有道题,我的理解是 先按文章group by 找出 T1~T2 时间段内每篇文章的前 5个留言,然后再按照uid group by 统计 count 数,对于 先按 文章group by 找出每篇文章的前5个留言的sql 不知道怎么写?

https://img1.sycdn.imooc.com//szimg/5a9c9efb000179b814541272.jpg

0 回复 有任何疑惑可以回复我~
  • Jason #1
    思路没问题,以下是SQl语句,参考一下:
    select * from comments as c where (select count(distinct(c1.write_time)) from comments as c1 where c1.article_id = c.article_id and c1.write_time > c.write_time) < 6 and c.write_time between T1 and T2;
    回复 有任何疑惑可以回复我~ 2018-03-11 14:29:28
  • 这里面的 c1.write_time < c.write_time 才符合结果
    回复 有任何疑惑可以回复我~ 2019-11-22 13:35:47
Jason 2018-03-04 15:49:26

能否具体描述下你的数据表结构,其次,通常我们很少用一条SQL语句完成一个非常复杂的查询,第一,有可能造成效率低下的语句,第二,程序的可复用性不高

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号