
SQL
SQL
颹蕭蕭
这个作者很懒,什么都没留下…
展开
-
clickhouse AST 可视化
clickhouse AST抽象语法树可视化原创 2022-07-22 12:51:06 · 664 阅读 · 0 评论 -
clickhouse 查看后台mutation任务
clickhouse 的删除任务在后台异步执行原创 2022-07-01 10:56:25 · 1145 阅读 · 0 评论 -
clickhouse 查询占用空间最大的表
clickhouse 查询占用空间最大的表原创 2022-06-28 12:35:52 · 981 阅读 · 0 评论 -
clickhouse 实现IP网段信息关联
创建网段信息表,将IP字符串从String类型转化成 ArrayCREATE TABLE IPArraySegment( `segmentName` String, `startIP` String, `endIP` String, `startIPArray` Array(Int32), `endIPArray` Array(Int32))ENGINE = MergeTreeORDER BY (segmentName, startIPArray原创 2022-05-05 20:18:36 · 1214 阅读 · 0 评论 -
mysql 表复制
导出 SQL 建表语句$$$ mysqldump -uroot -p DATABASE_NAME TABLE_NAME > table_bak.sqlEnter password: 替换表名vim table_bak.sql% 所有行s 替换g 全部:%s/TABLE_NAME/NEW_TABLE_NAME/g导入复制表mysql -uroot -p DATABASE_NAMEEnter password: mysql> source /PATH/table_ba原创 2022-03-15 10:34:25 · 864 阅读 · 0 评论 -
clickhouse 局域网网段的正则表达式
局域网网段的专有地址10/8 地址范围:10.0.0.0到10.255.255.255 共有2的24次方个地址172.16/12 地址范围:172.16.0.0至172.31.255.255 共有2的20次方个地址192.168/16 地址范围:192.168.0.0至192.168.255.255 共有2的16次方个地址。clickhouse 中正则表达式match(Address, '10[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}|172[.]((1[6-9])|(2\d)|原创 2022-02-21 11:10:18 · 1539 阅读 · 0 评论 -
mysql 一次替换多个变量
SELECT template, REPLACE(REPLACE(REPLACE(REPLACE(template, '#1', 'target1'), '#2', 'target2'), '#3', 'target3'), '#4', 'target4')from my_db.my_tablewhere ...原创 2022-02-08 15:52:26 · 2157 阅读 · 0 评论 -
mysql 隐式类型转换
当发现加号两边类型不一致时,优先将字符串转化成数字,只看字符串前缀,后面多余的直接忽略原创 2021-12-21 19:06:19 · 545 阅读 · 0 评论 -
MySQL 添加行号
SELECT @row:= @row+1 as row_no, t.* from ( -- 需要展示的表 select * from test) t, (select @row:=0) r;原创 2020-08-21 22:38:30 · 2189 阅读 · 0 评论 -
SQL 求连续段的最后一个数及每段的个数
题目来源:https://www.nowcoder.com/discuss/480253?type=all&order=time&pos=&page=1&channel=1009&source_id=search_all数据create table test( id int);insert into test values (1),(2),(4),(5),(6),(9),(10),(11),(12);sqlselect seg原创 2020-08-21 22:21:23 · 2640 阅读 · 1 评论 -
SQL 不及格课程数大于2的学生的平均成绩及其排名
数据create table scores( sid int, score int, cid int);insert into scores values(1, 90, 1),(1, 59, 2),(1, 67, 3),(2, 20, 1),(2, 30, 2),(2, 40, 3),(3, 14, 1),(3, 13, 2),(3, 15, 3),(4, 90, 1),(4, 90, 2),(4, 87, 3);sqlselect t1.sid, t1原创 2020-08-20 19:19:21 · 2117 阅读 · 0 评论 -
SQL 小号检测
题目来源:zhuanlan.zhihu.com/p/79366919生成数据create table log( uid char(10), ip char(15), time timestamp);insert into log valuesinsert into log values('a', '124', '2019-08-07 12:0:0'),('a', '124', '2019-08-07 13:0:0'),('b', '124', '2019-08-08 12:原创 2020-08-19 19:00:41 · 1472 阅读 · 0 评论 -
SQL 向用户推荐好友喜欢的音乐
问题描述:向用户 user_id = 1 推荐其关注的人喜欢的音乐有如下三个表:用户关注表 follow用户喜欢的音乐 music_likes音乐名字表 musicselect music_name from music where id in ( select distinct music_id from music_likes where user_id in ( select follower_id from原创 2020-08-08 18:10:50 · 1687 阅读 · 0 评论 -
SQL 每月新增,复购人数,复购率
订单表select firstmon as '月份', count(userid) as '新增', sum(fugou) as '复购人数', sum(fugou)/count(userid) as '复购率'from( select t1.firstmon, t1.userid, if(count(t1.userid)>1, 1, 0) as fugou from ( select userid, month(min(paytime)) as原创 2020-08-08 14:26:04 · 4735 阅读 · 1 评论 -
SQL 模拟生成商品订单表
想练习 SQL 却苦于无数据?不存在的!所有的数据都可以人工生成!原创 2020-08-08 12:30:03 · 4099 阅读 · 0 评论 -
SQL 用户行为路径分析
请看题:已知用户行为表 tracking_log, 大概字段有:(user_id 用户编号, op_id 操作编号, op_time 操作时间)要求:统计每天符合以下条件的用户数:A操作之后是B操作,AB操作必须相邻。生成数据,可以在 sqlfiddle 中测试:create table tracking_log( id int primary key AUTO_INCREMENT, user_id int not null, op_id char(4) not null, op原创 2020-08-02 18:29:22 · 3999 阅读 · 0 评论 -
SQL分组最大值
Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。+----+-------+--------+--------------+| Id | Name | Salary | DepartmentId |+----+-------+--------+--------------+| 1 | Joe | 70000 | 1 || 2 | Henry | 80000 | 2 || 3原创 2020-07-15 18:41:15 · 1728 阅读 · 0 评论 -
mysql 实现 rank, dense_rank
编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。+----+-------+| Id | Score |+----+-------+| 1 | 3.50 || 2 | 3.65 || 3 | 4.00 || 4 | 3.85 || 5 | 4.00 || 6 | 3.65 |+----+-------+例如,根据上述给定的 Scor原创 2020-07-15 17:24:51 · 1735 阅读 · 0 评论 -
SQL 分组排序的窗口函数 rank, dense_rank, row_number
建表create table score ( name varchar(20), subject varchar(20), score int );-- 2.插入测试数据 insert into score(name,subject,score) values('张三','语文',98);insert into score(name,subject,score) values('张三','数学',80);insert into score(name,subject,score) v原创 2020-07-15 16:21:08 · 1694 阅读 · 0 评论 -
SQL再谈分组topN
题目Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId 。+----+-------+--------+--------------+| Id | Name | Salary | DepartmentId |+----+-------+--------+--------------+| 1 | Joe | 85000 | 1 || 2 | Henry | 80000 |原创 2020-07-15 15:04:53 · 1437 阅读 · 0 评论 -
SQL 分组计算 topN
首先安利这款免费在线 SQL 运行平台 sql fiddle:建表:create table score ( name varchar(20), subject varchar(20), score int );-- 2.插入测试数据 insert into score(name,subject,score) values('张三','语文',98);insert into score(name,subject,score) values('张三','数学',80);inse原创 2020-07-14 15:08:38 · 2883 阅读 · 0 评论