欢迎光临
我们一直在努力

sql:获取分组范围数据

需求:获取每个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

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。