
clickhouse应用实例
CODING_Richey
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何通过clickhouse找出灌水用户
如何通过clickhouse找出灌水用户从类型上分灌水用户的内容长度一般比较短带有明显的广告内容短时间内发布的频率较高短时间内发发布的频率高且间隔短…对于第一种类型可以通过 length(text) 判断长度对于第二种类型可以通过关键词过滤match(text,'加v|关注我的公众号|联系方式')对于第三种类型可以通过发布频次select toDate(crtime) d, toDate(crtime) hour, uid,原创 2021-03-19 11:44:39 · 255 阅读 · 0 评论 -
clickhouse正则表达式
1、搜索字段例 :搜索表中含有 字符"ai" ,“em”,"pro"的列select columns('ai|em|pro') from user_loglimit 100结果2、搜素province 字段中值为以条件m开头,或包含 “ai” 或包含“am” 或包含2个aselect provincefrom user_log where multiMatchAny(province, ['^m', 'ai|am','a{2}']) limit 1000结果3、正则表达原创 2020-10-10 19:32:09 · 13933 阅读 · 0 评论 -
如何利用clickhouse创建导航栏
效果图:设置了5个栏目,每个栏目下有具体的子栏目,点击子栏目可跳转到对应的链接具体代码如下select concat('<a href="', anyIf(link, column=1),'">', anyIf(name, column=1), '</a>') `栏目1`, concat('<a href="', anyIf(link, column=2),'">', anyIf(name, column=2), '</a>') `栏目原创 2020-08-27 18:13:38 · 311 阅读 · 0 评论 -
滚动月活中活跃一次得用户占比
分析月活中活跃1次,2次...得占比很好分析,如果是分析滚动月活中用户活跃1次,2次,3次得占比如何统计呢? 此统计可用来指导留存得变化原创 2020-07-30 18:00:19 · 800 阅读 · 0 评论 -
clickhouse 对查询的结果打上序号 实现row_number()功能
想象这样一种需求:用户每天可能会登陆很多次app,每天用户第一次的登陆停留时长和第N次的停留时长是什么关系,是否是线性相关关系?…用户每天收到很多次推送(push),每天用户第一次的点击率和第N次的点击率是否也存在线性相关关系?理清这个关系可以用来指导我们对用户每天push的次数定多少合适…这种统计分析需求需要按照用户的id维度对结果进行排序:例如第一步:对查到的结果,按照每个用户的登陆时间升序,这样得到了用户的登陆次序。然后把登陆时间生成数组select d,原创 2020-07-10 12:04:05 · 8944 阅读 · 2 评论 -
sql(clickhouse) 如何实现对查询结果做下拉选择处理?
有时候需要对查询的结果做筛选,实现类似下拉列表的样式,该如何实现呢?step1:我们先定义一下原始数据(select arrayJoin(['1','1','3']) as `性别`)得到结果:step2:使用multi-filter功能实现下拉筛选select `性别` as `性别::multi-filter` from(select arrayJoin(['1','2','3']) as `性别`)得到结果step:当然也可以和 case when 结合使用原创 2020-05-19 16:58:12 · 768 阅读 · 0 评论 -
sql(clickhouse) 如何计算用户的滚动mau
假定我们计算30天的活跃为mau我们先来看一个例子,如果一个用户只活跃了2天,2020-01-01 和2020-05-01,如果要计算mau的时候,2019-12-31的时候不算是我们的mau,2020-01-30的时候是我们的mau,2020-01-31的时候不算我们的mau,同理 2020-05-01的时候是我们的mau,2020-05-30的时候是我们的mau.日期 uid 2020/1/1 1 2020/5/1 1 即当前的d+29,在这个范围的就是..原创 2020-05-18 16:23:42 · 1798 阅读 · 0 评论 -
sql(clickhouse) 实现用户(每月)连续最大登陆数/签到数
sql如何实现用户的连续最大登陆数或者连续最大签到数呢?思路拆解:连续登陆/签到是指登陆的天数隔为1方法一:观察下面列表,假设是某一用户的登陆数据,可以看到只需要统计连续最大的1就是该用户的最大登陆数所以思路是相邻的日期相减,拿到间隔数字,(连续最大的1的个数字+1)即为连续最大登陆数比如2020-01-01 到2020-01-03 中间有2个连续的1日期 是否连续 间隔 2020/1/1 —— 0 2020/1/2 是 1 2020.原创 2020-05-15 20:04:34 · 2122 阅读 · 1 评论 -
sql(clickhouse)查询的结果中取指定某几行/第几行的数据
对于查询的结果,有时候需要取到某几行的值/第几行的值首先将查询的结果进行排序 :比如按照时间,用户id等维度 排序的查询结果如下datetime user_id action 2020/1/1 12:00 133 view_page 2020/1/2 12:00 2543 click_tab 2020/1/3 12:00 34566 ...原创 2020-04-16 17:55:12 · 6136 阅读 · 0 评论