首页 > 数据库技术 > 详细

sql:获取分组范围数据

时间:2018-04-27 17:48:28      阅读:191      评论:0      收藏:0      [点我收藏+]
技术分享图片
需求:获取每个live_id的前30天数据。
注!!!这个效率很低,不要线上跑,小心炸锅
方法1:
SELECT a.* FROM user_live a
LEFT JOIN user_live b ON a.live_id=b.live_id AND a.create_time<b.create_time
GROUP BY a.live_id,a.watch_num,a.create_time HAVING COUNT(b.live_id)<29 ORDER BY a.live_id,a.create_time ASC

方法2:
SELECT a. FROM user_live a WHERE 30 > (SELECT COUNT() FROM user_live
WHERE live_id = a.live_id AND create_time > a.create_time ) ORDER BY a.live_id,a.create_time

sql:获取分组范围数据

原文:http://blog.51cto.com/woniu123/2108569

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!