当前位置: 首页 > news >正文

Hsql每日一题 | day02

前言

就一直向前走吧,沿途的花终将绽放~

题目:主播同时在线人数问题

如下为某直播平台主播开播及关播时间,根据该数据计算出平台最高峰同时在线的主播人数。
id          stt                 edt
1001,2021-06-14 12:12:12,2021-06-14 18:12:12
1003,2021-06-14 13:12:12,2021-06-14 16:12:12
1004,2021-06-14 13:15:12,2021-06-14 20:12:12
1002,2021-06-14 15:12:12,2021-06-14 16:12:12
1005,2021-06-14 15:18:12,2021-06-14 20:12:12
1001,2021-06-14 20:12:12,2021-06-14 23:12:12
1006,2021-06-14 21:12:12,2021-06-14 23:15:12
1007,2021-06-14 22:12:12,2021-06-14 23:10:12

建表:

数据准备:

create table t16(id            int,stt           string,edt           string
)row format delimited fields terminated by '\t';插入数据:
load data local inpath '/opt/data/t16.txt' overwrite into table  t16;

需求实现:

select max(c2)
from (select c1,flag,sum(flag) over(order by c1,id) c2from(select id,stt as c1,1 flag from t16union allselect id,edt as c1,-1 flag from t16)t1)t2;

hsql语句分析:

  1. 内部查询(子查询t1):

    • t16表中选择了两列,并为它们分别赋予了别名c1flag
    • 对于t16表中的每一行,如果它是stt列,则flag为1,并作为c1的值;如果它是edt列,则flag为-1,并作为c1的值。这实际上是通过UNION ALL将两个结果集合并成一个,其中一个结果集包含stt作为正值,另一个结果集包含edt作为负值。
  2. 中间查询(子查询t2):

    • 使用了窗口函数SUM(flag) OVER (ORDER BY c1, id)来计算累积和。这个累积和是根据c1(即原始的sttedt)和id的顺序来计算的。
    • 结果集中的每一行都包含c1flag和累积和c2
  3. 外部查询:

    • 从中间查询t2中选择累积和c2的最大值。

结果输出:

http://www.lryc.cn/news/352024.html

相关文章:

  • RepOptimizer原理与代码解析(ICLR 2023)
  • 持续总结中!2024年面试必问 20 道 Redis面试题(六)
  • 【通义千问—Qwen-Agent系列2】案例分析(图像理解图文生成Agent||多模态助手|| 基于ReAct范式的数据分析Agent)
  • 10G SFP双口万兆以太网控制器,高速光口网络接口卡
  • [前端|vue] 验证器validator使用笔记 (笔记)
  • 欢乐钓鱼大师攻略大全,游戏自动辅助,钓鱼大全!
  • Prompt - 流行的10个框架
  • PYQT5点击Button执行多次问题解决方案(亲测)
  • 华为编程题目(实时更新)
  • AI巨头争相与Reddit合作:为何一个古老的论坛成为AI训练的“宝藏”?
  • Mysql和Postgresql创建用户和授权命令
  • 以及Spring中为什么会出现IOC容器?@Autowired和@Resource注解?
  • nss刷题(3)
  • Qt编译和使用freetype矢量字库方法
  • Java interface 接口
  • 深入理解MySQL:查询表的历史操作记录
  • 【Centos7+JDK1.8】Jenkins安装手册
  • SpringBootWeb 篇-深入了解 Mybatis 概念、数据库连接池、环境配置和 Lombok 工具包
  • JAVA开发 基于最长公共子序列来计算两个字符串之间的重复率
  • Android HAL到Framework
  • Python数据可视化(七)
  • StringMVC
  • 前端基础入门三大核心之HTML篇 —— SVG的viewBox、width和height:绘制矢量图的魔法比例尺【含代码示例】
  • Java-Zookeeper
  • Godot游戏引擎有哪些优势
  • 一张图看懂大模型性价比:能力、价格、并发量全面PK
  • 设计井字棋游戏(一)
  • 华为手机卡顿(仅针对于部分人来说,我也不清楚是否真的有用)
  • 7、按钮无法点击
  • 开源博客项目Blog .NET Core源码学习(25:App.Hosting项目结构分析-13)