sql使用中的一些固定语法
#sql求分组后 组内排名前几--每个uid在9月份登录的前七天,与后7天(分别计算,不足7天的取全部)
SELECT * from ( SELECT uid, day, @ROW := case when @cid=uid then @ROW+1 else 1 END rn, @cid := uid from ( SELECT uid,day from ods_app_action_login_h where day>="2019-09-01" and day <="2019-09-30" and uid <>'' GROUP BY day,uid ORDER BY uid,day desc ) l1,(SELECT @ROW := 0,@cid :=0) l2) l5 where rn <=7 --第二种 SELECT uid,day from ods_app_action_login_h as o1 where day>="2019-09-27" and day<="2019-09-30" and ( SELECT count(*) from ( SELECT uid,day from ods_app_action_login_h where day>="2019-09-27" and day<="2019-09-30" GROUP BY uid,day ) as o where o1.uid= o.uid and o.day <=o1.day --分组排序 ) <= 7
#从上一结果中筛选出isguest<>1的uid(当天只要有一条数据isguest=1,则此uid视为isguest=1,前7天后7天可任选一个)
SELECT * from ( SELECT uid, day, @ROW := case when @cid=uid then @ROW+1 else 1 END rn, @cid := uid from ( SELECT uid,day from ods_app_action_login_h where day>="2019-09-01" and day <="2019-09-30" and uid <>'' GROUP BY day,uid ORDER BY uid,day desc ) l1,(SELECT @ROW := 0,@cid :=0) l2 ) l5 INNER JOIN( SELECT uid,day from ( SELECT uid,sum(if(isguest!=1,0,1)) is_isguest,day from ods_app_action_login_h where day>="2019-09-01" and day <="2019-09-30" GROUP BY uid,day ) s1 where s1.is_isguest=0 ) l6 on l5.uid = l6.uid where rn <=7
#下面效率不高
-- SELECT d1.uid,d1.isguest,d1.day from ods_app_action_login_h as d1
-- LEFT JOIN
-- (
-- SELECT * from (
-- SELECT uid,isguest,day from
-- ods_app_action_login_h
-- where day>="2019-09-29" and day <="2019-09-30" and uid <>'' GROUP BY uid,isguest,day) as o3 WHERE isguest !=1
-- ) l1 on l1.uid = d1.uid and l1.day =d1.day
-- where d1.day>="2019-09-29" and d1.day <="2019-09-30" GROUP BY uid
--
本文章仅供学习参考,如有版权侵犯,请联系作者修改,转载请注明出处!
分类:
数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」