当前位置:网站首页>ClickHouse字段分组聚合、按照任意时间段粒度查询SQL
ClickHouse字段分组聚合、按照任意时间段粒度查询SQL
2022-07-06 17:32:00 【坚持是一种态度】
ClickHouse字段分组聚合、按照任意时间段粒度查询SQL
需求
- 基础数据入库,需要根据字段做一些聚合
- 现有路口过车数据,有各种车型,需要统计总流量和各个车型流量,要一起返回
- 现有过车数据,需要按照时间不同粒度,统计车流量,实现不同时间粒度求和,5分钟、10分钟、半小时、一个月、一年都行
解决
使用if和sum
- 主要是使用
if
,符合条件为1,不符合为0,再使用sum
求和
select
count(1) as "总流量",
SUM(if(vehicle_type = 'PEDESTRIAN', 1, 0)) as "行人流量",
SUM(if(vehicle_type = 'NON_MOTORIZED', 1, 0)) as "非机动车流量",
SUM(if(vehicle_type = 'LIGHT_DUTY', 1, 0)) as "小型车流量",
SUM(if(vehicle_type = 'MEDIAN_SIZED', 1, 0)) as "中型车流量",
SUM(if(vehicle_type = 'OVERSIZE', 1, 0)) as "大车流量"
from
passing_vehicle
where
exist_time > 0
and time_stamp > toDateTime('2022-06-30 11:00:00')
and time_stamp < toDateTime('2022-06-30 15:00:00')
;
使用toStartOfInterval
select
toStartOfInterval(time_stamp , INTERVAL 30 minute) as half_hour,
count(1) as "总流量",
SUM(if(vehicle_type = 'PEDESTRIAN', 1, 0)) as "行人流量",
SUM(if(vehicle_type = 'NON_MOTORIZED', 1, 0)) as "非机动车流量",
SUM(if(vehicle_type = 'LIGHT_DUTY', 1, 0)) as "小型车流量",
SUM(if(vehicle_type = 'MEDIAN_SIZED', 1, 0)) as "中型车流量",
SUM(if(vehicle_type = 'OVERSIZE', 1, 0)) as "大车流量"
from
passing_vehicle
where
exist_time > 0
and time_stamp > toDateTime('2022-06-30 11:00:00')
and time_stamp < toDateTime('2022-06-30 15:00:00')
group by
half_hour,
order by
half_hour;
边栏推荐
- C# 计算农历日期方法 2022
- Build your own website (17)
- 【JVM调优实战100例】04——方法区调优实战(上)
- Dynamic planning idea "from getting started to giving up"
- The difference between spin and sleep
- Make a simple graphical interface with Tkinter
- 深入探索编译插桩技术(四、ASM 探秘)
- Return to blowing marshland -- travel notes of zhailidong, founder of duanzhitang
- Oracle:CDB限制PDB资源实战
- Force buckle 1037 Effective boomerang
猜你喜欢
LLDP兼容CDP功能配置
第七篇,STM32串口通信编程
Part 7: STM32 serial communication programming
【JVM调优实战100例】04——方法区调优实战(上)
Windows installation mysql8 (5 minutes)
Can the system hibernation file be deleted? How to delete the system hibernation file
Do you understand this patch of the interface control devaxpress WinForms skin editor?
UI control telerik UI for WinForms new theme - vs2022 heuristic theme
Part V: STM32 system timer and general timer programming
系统休眠文件可以删除吗 系统休眠文件怎么删除
随机推荐
迈动互联中标北京人寿保险,助推客户提升品牌价值
Meet in the middle
重上吹麻滩——段芝堂创始人翟立冬游记
Do you understand this patch of the interface control devaxpress WinForms skin editor?
mysql: error while loading shared libraries: libtinfo. so. 5: cannot open shared object file: No such
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such
golang中的atomic,以及CAS操作
BFS realizes breadth first traversal of adjacency matrix (with examples)
Tencent cloud webshell experience
Dynamic planning idea "from getting started to giving up"
斗地主游戏的案例开发
Receive user input, height BMI, BMI detection small business entry case
Build your own website (17)
[牛客] B-完全平方数
第四篇,STM32中断控制编程
随时随地查看远程试验数据与记录——IPEhub2与IPEmotion APP
Supersocket 1.6 creates a simple socket server with message length in the header
让我们,从头到尾,通透网络I/O模型
A brief history of deep learning (I)
golang中的atomic,以及CAS操作