sql:获取分组范围数据

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

相关文章

这篇文章主要介绍“hive和mysql的区别是什么”,在日常操作中...
这篇“MySQL数据库如何改名”文章的知识点大部分人都不太理解...
这篇文章主要介绍“mysql版本查询命令是什么”的相关知识,小...
本篇内容介绍了“mysql怎么修改字段的内容”的有关知识,在实...
这篇文章主要讲解了“mysql怎么删除unique约束”,文中的讲解...
今天小编给大家分享一下mysql怎么查询不为空的字段的相关知识...