ClickHouse应用随笔2——活跃用户留存统计(前方高能~~)

前言众所周知,产品数据监控体系中,用户留存是一个非常重要的指标,细化到业务场景中,留存其实可以拆解出来多个类别:包括新增用户留存、活跃用户留存、付费用户留存、回流用户留存、新增付费用户留存、回流付费用户留存等等,以下主要针对活跃用户留存设计ClickHouse查询语句。表结构及查询需求表结构timeuser_idJanuary 1, 2021, 08:33 AM112233abcJanuary 1, 2021, 09:00 AM221133bacJanuary 1
分类: 数据库 发布时间: 04-05 23:12 阅读次数: 0

MySQL练习(二)——MySQL之经典面试50题(下)

  我们在上篇文章开始介绍MySQL经典的面试题,我们接着上篇文章进行介绍剩下的25题。26、查询每门课程被选修的学生数select c_id,count(s_id) 选修人数 from scgroup by c_id;  执行的效果如下:43、练习:统计每门课程的学生选修人数(超过5人的课程才统计)#要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列select c_id,count(s_id) 选修人数 from scgroup by c_id
分类: 数据库 发布时间: 04-05 23:12 阅读次数: 0

PostgreSQL存储过程实用脚本(二):创建函数入门

创建简单自定义函数示例: pl/sql语法比较灵活,但在创建函数时还是要尽量符合语言约定的规范写法,比如参数名称使用可读性较好的写法(驼峰式、短横线式等写法),在示例脚本中尽量使用符合约定的写法。创建加法计算函数:创建一个实现两数相加的自定义函数,具体脚本如下,p_a:计算参数1p_b:计算参数2p_sum:返回结果变量-------------------CREATE OR REPLACE FUNCTION mydb.mysc.add(IN p_a integer,I...
分类: 数据库 发布时间: 04-05 23:12 阅读次数: 0

MySQL表的增删改查(基础)

MySQL表的增删改查1. 新增(Create)2. 查询(Retrieve)2.1 全列查询2.2 指定列查询2.3 查询字段为表达式2.4 别名2.5 去重: DISTINCT2.6 排序: ORDER BY2.7 条件查询: WHERE2.8 分页查询: LIMIT3. 修改(Update)4. 删除(Delete)5. 常用1. 新增(Create)2. 查询(Retrieve)2.1 全列查询2.2 指定列查询2.3 查询字段为表达式2.4 别名2.5 去重: DISTINCT使用
分类: 数据库 发布时间: 04-05 23:11 阅读次数: 0

SQL代码——数据库,数据表代码操作

数据库创建数据库Create database db_library;查看数据库show databases;选择数据库ues db_library;删除数据库drop database db_library;注:除了use不用写database之外,其他都要写database数据表使用数据库 use db1_library;在数据库中创建数据表 create table t_reader(read_id char(6),read_name varchar(50),read_sex c
分类: 数据库 发布时间: 04-05 23:01 阅读次数: 0

配置MySQL通过Systemd启停及自启动

1. 在应用systemd的发行版中使用systemctl管理服务systemctl start [service] systemctl stop [service] systemctl enable [service]以上几条常用的服务管理命令,一般可以应用于使用包管理器安装的软件,在安装过程中就进行了相应的配置,安装完成后就可以通过systemctl操作。对于使用二进制软件包安装的软件,则需要
分类: 数据库 发布时间: 04-05 12:31 阅读次数: 0

Redis(二)原理

一、发布订阅模式1、基本命令订阅频道:可以一次订阅多个,subscribe channel-1 channel-2 channel-3向指定频道发布消息:publish channel-1 2673取消订阅:unsubscribe channel-1按规则(pattern)订阅频道:psubscribe topic*,*代表通配符,topic * 代表所有topic开头的频道。发布消息:public channel message 给channel发送消息message二、事务1、事务特
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

SQL--数据查询

  接着上次的查询,上次简单的叙述啦单表查询, 这次主要涉及一些更加重要的查询。主要是练习书上的例题。  首先附上之前学过的select格式语句。查询语句的一般格式为: SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]... FROM <表名或视图名>[,<表名或视图名>...]|(<SELECT 语句>)[AS]<别名> [WHERE<条件表达式>] [GROUP BY
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

Java的数据库基础(MySQL):SQL命令和JDBC

Java的数据库基础,以MySQL为主,什么是数据库?数据库分为哪两类?如何通过SQL命令操作数据库?数据库的事务是什么?数据库中如何添加索引以提高查询速度?用Java代码操作数据库:JDBC。
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

Excel: 批量去除空格的函数——trim函数, substitute函数,clean函数

可分别利用trim(),substitute(),clean()函数实现:trim(): 去除单词之间的单个空格,清除文本中所有的空格,可应用于从其他地址获取的不规则空白文本;substitute(): 在某一文本字符串中替换指定的文本;clean(): 用于删除文本中不能打印的字符。对从其他应用程序中输入的文本使用该函数,将删除其中含有当前操作系统无法打印的字符replace(): 在某一文本字符串中替换指定位置处的任意文本;注:replace()与substitute()函数使用方法类似,故放
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

MySQL和JDBC重点总结

一、SQL语句分类DQL(数据查询语言):查询语句DML(数据操作语言):insert delete update,对表当中的数据进行增删改DDL(数据定义语言):create drop alter,对表结构的增删改TCL(事务控制语言):commit提交事务,rollback回滚事务。DCL(数据控制语句):grant授权、revoke撤销权限等。二、对数据库操作show databases; 查看有哪些数据库create database xxxxx;创建数据库use xxxxx
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

刨根问底:MySQL索引篇之千万级数据实战测试

今天中午我这边只有半个小时时间,再过半个小时,得带着孩子去我妈那吃饭,就拿我给学生讲的案例,给大家直入主题讲一下吧…MySQL索引创建先说明一个问题啊,如果你创建数据表时创建了主键,此时主键列会自动创建索引-- 创建索引的语法格式-- alter table 表名 add index 索引名[可选](列名, ..)-- 给name字段添加索引alter table classes add index my_name (name);索引删除-- 删除索引的语法格式-- al.
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

数据库【数据查询】

例题紧接着上一篇博客,链接地址在这里:数据库【数据索引&插入&查询】数据查询单表查询1.选择表中的若干列(3)查询经过计算的值[例3.19] 查全体学生的姓名及其出生年份。select Sname,2014-Sagefrom Student;这个样子的第二列是没有表头的,添加方法在下一个例题有方法哦。[例3.20] 查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示系名。tips:字母变小写LOWER字母变大写UPPER无列名select Sn
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

Sql Server 04

单表查询先附上 实验所应用的表Student1Student2SCCourse1.查询满足条件的元组(1)比较大小[例3.22] 查询计算机科学系全体学生的名单。select Snamefrom Studentwhere Sdept='CS';[例3.23]查询所有年龄在20岁以下的学生姓名及其年龄。select Sname,Sagefrom Studentwhere Sage <20;[例3.2...
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

MySQL学习总结-基础架构概述

1、总述MySQL可以分为Server层和存储引擎层Server层: 包括大多数 MySQL 中的核心功能,所有跨存储引擎的功能也在这一层实现,包括存储过程、触发器、视图等。存储引擎层: 包括 MySQL 常见的存储引擎(MyISAM、InnoDB和Memory 等),最常用的是InnoDB,也是现在MySQL的默认存储引擎。存储引擎也可以在创建表的时候手动指定。2、连接器用于连接用户和MySQL数据库。1、用户发起连接(mysql -u 用户名 -p 密码);2、连接器会根据用户输入的用户
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

前端表单传递DATE类型经过Java存储到mysql中的空字符问题

表单传递数据到Servlet,经过Servlet中,调用DAO存储到mysql的编码问题前端页面表单中的birthday类型为date,在表单中的出生日期栏不插入数据servlet中接收到的表单数据为一个空字符但是数据库里边的birthday的列设置的为date类型,表单中不填写内容传递过来的是一个空字符串,因此需要在UserServiceImpl里边进行判断mysql数据库中字段为空的含义是将要设置为空的字段内容设置为null,但是上面所提到的从表单中传递过来的birthday值为空字符串
分类: 数据库 发布时间: 04-04 23:12 阅读次数: 0

数据库关系模式的规范化

1、第一范式(1NF)在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,
分类: 数据库 发布时间: 04-04 23:11 阅读次数: 0

数据库基础知识(MySQL入门)

数据库基础知识#mermaid-svg-vnV6I0taHWk5hTFP .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-vnV6I0taHWk5hTFP .label text{fill:#333}#mermaid-svg-vnV6I0taHWk5hTFP .node rect,#mermaid-svg-vn
分类: 数据库 发布时间: 04-04 23:11 阅读次数: 0

Linux 下通用二进制安装 MySQL5.7(Using Generic Binaries)

Linux 下通用二进制安装 MySQL5.7(Using Generic Binaries),来源mysql官方文档。
分类: 数据库 发布时间: 04-04 11:01 阅读次数: 0

Oracle11g DBCA建库时找不到ASM磁盘

环境:操作系统:OracleLinux6.9数据库版本:Oracle11.2.0.4在使用DBCA创建数据库的时候,发现找不到ASM磁盘组查看oracle用户/u01/app/11.2.0.4/grid/bin/oracle文件的权限该文件的默认权限为6751权限,有个s权限,如果s权限消失,这时通过OS认证将不能登录到数据库[[email protected]~]#cd/u01/app/11.2.0.4/grid
分类: 数据库 发布时间: 04-04 09:01 阅读次数: 0