SQL--统计出每日在线总数
需求:
一张表有uid、起始日期和终止日期,能不能一条sql统计出每日在线总数
样例:
比如 三条数据:
a 20220510 20220512
b 20220510 20220511
c 20220511 20220512
结果:
20220510 2
20220511 3
20220512 2
数据准备:
CREATE TABLE brand asselect 'a' as uid, '2022-05-10' as start_date, '2022-05-12' as end_date union allselect 'b' as uid, '2022-05-10' as start_date, '2022-05-11' as end_date union allselect 'c' as uid, '2022-05-11' as start_date, '2022-05-12' as end_date;
参考答案:
将时间打散 --对时间区间打散到每一天,在按照日期去重count
select
tt,count(distinct uid)
from
(
select
uid
,start_date,end_date
,indx,val
,date_add(start_date,indx) tt
from brand lateral view posexplode(split(space(datediff(end_date,start_date)),'')) t as indx,val
)tmp
group by tt
;
知识点
1.space()函数
hive>select split(space(10), ''); [" "," "," "," "," "," "," "," "," "," ",""]
2.posexplode()函数
select i, date_add('2020-11-01', pe.i) as dynamic_date ,'2020-11-01' as start_time, '2020-11-30' end_time from ods.test lateral view posexplode(split(space(datediff('2020-11-30', '2020-11-01')),' ')) pe as i, x limit 30 ;
SQL--统计出每日在线总数相关推荐
- SQL 统计每日会员总数及每日新增数量
if object_id('tb') is not null drop table tb go create table tb(会员号 varchar(10),日期 varchar(10)) inse ...
- SQL:如何用一个sql统计出全校男生个数、女生个数以及总人数
SQL:如何用一个sql统计出全校男生个数.女生个数以及总人数 本文为转载: https://blog.csdn.net/wangjinsu7/article/details/52257150 情景: ...
- Hive 使用SQL统计出每个用户的累积访问次数
我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1/22 8 u04 2017/1/ ...
- 如何使用sql函数平均值、总数、最小值、最大值、总和、标准差
来自; http://blog.csdn.net/xx22nn/archive/2007/05/30/1631773.aspx 如何使用sql函数平均值.总数.最小值.最大值.总和.标准差 sql函数 ...
- sql函数平均值、总数、最小值、最大值、总和、标准差
如何使用sql函数平均值.总数.最小值.最大值.总和.标准差 sql函数 使用sql函数,您可以在一个select语句的查询当中,直接计算数据库资料的平均值.总数.最小值.最大值.总和.标准差.变异数 ...
- MS SQL Server数据库在线远程管理工具
MS SQL Server数据库在线管理工具 MS SQL Server数据库以其优异的性能,被广泛使用,特别是政务,医疗行业.但是远程维护挺不方便的,目前有一款基于WEB的工具TreeSoft数据库 ...
- go语言sql转struct在线工具
golang在线sql转struct工具:http://sql2struct.atotoa.com/, mysql建表语句转go语言的的struct结构体.
- 哪位兄台能优化这条SQL语句,在线等,捉急!!!
技术主管让我优化一条SQL语句,这条语句是购买过之后将余额减掉,将理财金额增加,参数money是在业务层的,之前以前有过安全方面的过滤了.但主管只说了一句,不可以这样直接加减,MMP,玩劳资哪?研究了 ...
- sql计算每日新增用户、及留存率指标
show databases; -- 选择数据库进行建库 use tempt2022; -- 用户注册表 create table user_info(user_id varchar(10) prim ...
最新文章
- 可以连上网,能Ping通网关和DNS服务器,但是却不能访问网页
- 讲解 Redis 的一篇深度好文!
- 内存都没了,还能运行程序?
- TTCN手动测试总结
- 微博爬虫“免登录”技巧详解及Java实现
- ZedGraph怎样实现将图形右键菜单的打印和页面设置合并为打印的二级子菜单
- 服务器水冷冷却系统设计,从三方面设计高效的数据中心冷却系统
- 【BZOJ1079】【codevs2428】着色方案,DP
- nucleo stlink 固件_自制nucleo,可以随意更换芯片,支持stlink,板载usbisp
- 移动开发—详解flex布局之携程网首页案例制作
- 求两字符串最长公共连续子串---C++编程
- 语音识别软件_语音识别软件是什么_离线语音识别软件_企业服务汇
- 如何不起协议,R1ping通R3
- 在苹果Mac中如何一键转换繁体与简体中文?
- 写给初学者:电气制图规范和图纸识读方法——第三期
- 接口测试如何生成随机的参数值
- 北大先修课 计算机,北大先修课
- vue中用装饰器报错:Parsing error: Decorators cannot be used to decorate object literal properties
- 免费网站搭建与phpstorm远程部署
- 使用Vue导出word(纯前端,异步处理图片)