1.数据 s1,201801,A s1,201802,A s1,201803,C s1,201804,A s1,201805,A s1,201806,A s2,201801,A s2,201802,B s2,201803,C s2,201804,A s2,201805,D s2,201806,A s3,201801,C s3,201802,A s3,201803,A s3,201804,A s3,201805,B s3,201806,A 2.建表 create table if not exists student(name string,month string,degree string) row format delimited fields terminated by ',' ; load data local inpath '/root/stu.txt' into table student; 3.现要查询表中连续三个月以上degree均为A的记录? select a1.name, a1.month, a1.degree from ( select name, month, degree, sum(if(degree = 'A', 1, 0)) OVER(PARTITION BY name ORDER BY month ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS score1, sum(if(degree = 'A', 1, 0)) OVER(PARTITION BY name ORDER BY month ROWS BETWEEN 1 PRECEDING AND 1 following) AS score2, sum(if(degree = 'A', 1, 0)) OVER(PARTITION BY name ORDER BY month ROWS BETWEEN CURRENT ROW AND 2 following) AS score3 from student ) as a1 where a1.score1 = 3 or a1.score2 = 3 or a1.score3 = 3 结果: s1 201804 A s1 201805 A s1 201806 A s3 201802 A s3 201803 A s3 201804 A
本文来自博客园,作者:大码王,转载请注明原文链接:https://www.cnblogs.com/huanghanyu/
分类:
离线数据仓库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具