随笔分类 - sql
摘要:mysql里面是没有中位数函数可以直接用的,我想了一个巧妙的方法来计算中位数: select wx.mon,round(avg(lots),4)mid_lots from( select ma.mon,ma.lots,row_number() over (partition by ma.mon or
阅读全文
摘要:查元数据表,有时候不准,因为统计信息的缘故,表的量到了千万级别了,查 information_schema.tables非常不准,于是自己写了一个函数,一次统计统计自己需要的表的行数。 因为要估算添加索引的耗时,我的表都是类似这种,t_user_message_0,t_user_message_1,
阅读全文
摘要:(1)metabase之前都是有那个变量{{}}来筛选时间,有个需求,比如弄一个下拉框,可以选,而不是直接再变量框里面输入 需要弄出这种效果,实现如下: 这种不够灵活,但是可以实现筛选,感觉不是很实用
阅读全文
摘要:(1)假如需要实现的需求是 SUM(COUNT(DISTINCT moengageuserid)) OVER (PARTITION BY eventname, date(from_unixtime(time_bucket)) ORDER BY eventname, time_bucket) AS r
阅读全文
摘要:#!/usr/bin/env bash webhook='https://oapi.dingtalk.com/robot/send?access_token=xxxx' #dt=`date --date='5 min ago' "+%Y-%m-%d %H:%M:%S"` dt=`date -d '-
阅读全文
摘要:1:查询每个用户所属用户组: select a.email,b.name from metabase.core_user a left join (select ma.user_id,group_concat(pg.name) as name from permissions_group_membe
阅读全文
摘要:google云的rds不向阿里云那样可以直接下载my.cnf文件,想看默认参数感觉不直观,找了一种方法全部导出来看。 mysql -uroot -hxxxxxx.rds -A -p -e"SHOW GLOBAL VARIABLES;" > my_current.cnf.txt
阅读全文
摘要:--分析函数示例 select name,lesson,times,score, rank() over (partition by lesson,times order by score desc) as "RANK_L", --排名(不连续) dense_rank() over (partiti
阅读全文
摘要:需求: 看某一段时间内,注册的用户7日内留存,比如输入一个时间区间,显示这7日内注册用户总数,然后从第1天到第7天每一天的留存数据。 ## ## 让读书成为一种生活方式。就像吃喝拉撒每天必须要干的事, ## 终有一天你的举止、言谈、气质会不一样。 ## —- 5sdba ## ## Created
阅读全文
摘要:已ec2自建gp连接数监控为例: 编写监控脚本monitor.sh配置文件: 1 #!/usr/bin/env bash 2 . /home/gpadmin/.bashrc 3 export PGPASSWORD=xxxxx 4 home=/home/gpadmin/scripts/ 5 host=
阅读全文
摘要:(1)ec2自建的mongo,把mongostat数据实时输出到cloudwatch,并且做成条形图,方便查看。 首先在装有mongo的ec2机器上安装awslogs,参考,然后根据提示设置采集相关配置。 然后把mongostat数据传到cloudwatch,类似于: mongostat --hos
阅读全文
摘要:(1)统计gitlab每个开发一年内每个月提交代码数据: -- commit 次数统计排名 select author_id,b.email,b.name,count(1) as sum_cnt , sum(case when to_char(a.created_at,'yyyy-mm')='202
阅读全文
摘要:定义一个变量,要求输入一个值比如001,sql查询比如 where userid=001 的数据 输入2个值,比如001,002 sql查询 where userid in(001,002) 的数据 metabase上想实现这个效果,请教了一下大佬,学到了新写法。 select * from acc
阅读全文
摘要:1 -- 上周注册了100人,上周以前注册(200人), 2 -- 本周登录了50人(上周注册的100人里面有50人本周登录), 3 -- 本周登录了20人(上周之前注册注册的200人里面有80人在上周登录过并且本周登录了20人) 4 -- 新用户留存率 50/100 5 -- 老用户留存率 20/
阅读全文
摘要:一些etl工具从mongo同步到pg库里面的数据,多数能处理这种异构的索引,我自己找了一种不那么复杂的方法: (1)写一个js,在mongo导出源库所有索引信息: 1 root@ip-10-10-30-211:~# cat mongo_idx.js 2 var collectionList = db
阅读全文
摘要:使用AWS的dms同步工具,把mysql数据同步到postgres,工具本身是没办法同步索引这些信息,也还有一些额外的限制,重建索引就相当麻烦了,写了一个脚本: mysql执行,查询mysql里面有哪些索引,生成postgres里面建索引的语法: select table_name,concat(c
阅读全文
摘要:需求:需要统计metabase每个用户的权限整理为excel表格。 就是需要把人名,邮箱,用户组,弄出来,整理为excel,f12看,很可惜没找到js或者类似加载数据的json文件,不过找到一个api地址,譬如https://xxxx.xx/api/user,能拿到所有用户的信息。 但是要整理为ex
阅读全文
摘要:select ma.cnt1 as "上周注册用户总数",ma.cnt2 as "上周活跃用户数",ma.cnt3 as "本周活跃用户数",cast (ma.cnt3 as double)/ma.cnt1 as "新用户留存率",cast(ma.cnt3 as double)/ma.cnt2 as
阅读全文
摘要:由于mysql8.0开启gtid复制环境以后,建表不能再ctas了,以前oracle数据库一直可以ctas,很方便,就想了下怎么实现mysql下这个功能,找到一种方法: USE report; SET sql_require_primary_key=0; CREATE TEMPORARY TABLE
阅读全文
摘要:(1)创建日志表: create table SYS.AUDIT_DDL_OBJ ( opr_time DATE, session_id NUMBER, os_user VARCHAR2(200), ip_address VARCHAR2(200), terminal VARCHAR2(200),
阅读全文