Sql
文章平均质量分 69
fff2zrx
这个作者很懒,什么都没留下…
展开
-
hive 偏门函数
1.分位数函数percentile。3.Hive常用日期格式转换。4.group sets用法。2.窗口函数(带滚动窗口)原创 2023-11-30 17:04:59 · 227 阅读 · 0 评论 -
工作中遇到的sql问题
工作笔记原创 2022-11-18 00:08:16 · 177 阅读 · 0 评论 -
如何根据是否连续进行分组
现在需要将数据按照status连续与否,如上图中的id 1-2为1组,3-5为一组。关键点就在于判断间断点赋值 0 1然后累加即可利用sqlselect id,status,sum(flag) over (order by id) as 分组 --累加flagfrom ( select id,status,case when status=status2 then 0 else 1 end as flag --本行与上一行不相等,则为间断点 from ( selec.原创 2021-10-07 17:15:24 · 313 阅读 · 0 评论 -
sql笔试的疑难杂症
1.留存率/复购率计算2.行列互换3.一行变多行,多行变一行原创 2021-07-22 21:41:39 · 280 阅读 · 1 评论 -
小叮当的sql实战笔记
ps:记录一下实习中实际使用hive sql取数的一些心得和坑性能调优用group by 代替distinct去重,效率更高两个表连接时,把关联字段里更少的放前面,即小表left join 大表在内层做完集计或者筛选后再在外层连接效率会更高常犯错误case when时,else可以省略,end不可省略,但是else不省略的时候必须后面跟上一个值,不然就报错select后跟着的字段,最后一个字段后面不能加逗号...原创 2021-07-13 14:50:51 · 246 阅读 · 0 评论 -
Coursea-用MySQL管理大数据-Week4
subqueries子查询derived table 派生表1 子查询子查询要求:子查询必须用括号括起来子查询中不能在使用ORDER BY,在包含子查询的外部查询中可以使用ORDER BY子查询若在SELECT或WHERE子句中使用时返回多行,则必须与用于处理多个值的运算符(如IN)结合使用。 否则,SELECT或WHERE中的子查询只能输出不超过1行。1.1 即时计算-标量子查询1.2 判断表之间某字段组成的集合关系IN和NOT IN- inSELECT COUNT(*)FRO原创 2021-01-07 14:05:48 · 191 阅读 · 0 评论 -
Coursea-用MySQL管理大数据-Week3
1 group by使用group by 语句时,select语句中只能包含用于集计的列,带集计函数的列,否则即使语句不报错,结果也是跟查询本意所不符合的由于SQL语句中的执行顺序跟书写顺序并不一致,所以如果尚未运行SELECT语句,则别名或派生字段将不可用(某些数据库系统(如MySQL)已经找到解决此问题的方法)。 另一方面,SELECT是在ORDER BY子句之前执行的。 这意味着大多数数据库系统应该能够在ORDER BY子句中使用别名和派生字段。SQL书写顺序&&a原创 2021-01-03 20:54:13 · 260 阅读 · 3 评论 -
datawhale-sql打卡之Task 6:综合练习
练习一: 各部门工资最高的员工(难度:中等)SELECT Department,Name,SalaryFROM Employee as e1left join Department as d1on e1.DepartmentId=d1.IdWHERE Salary in(SELECT MAX(Salary) as max_salary_deptFROM Employee as e1left join Department as d1on e1.DepartmentId=d1.IdGr原创 2020-12-27 21:34:02 · 195 阅读 · 0 评论 -
datawhale-sql打卡之Task 5:SQL高级处理
目录1 什么是窗口函数?2 窗口函数种类2.1 专用窗口函数RANK函数DENSE_RANK函数ROW_NUMBER函数2.2 将聚合函数用于窗口函数2.3 窗口函数的的应用 - 计算移动平均3 GROUPING运算符练习题1 什么是窗口函数?窗口函数也称为OLAP函数,即online analyticall processing常规的SELECT语句都是对整张表进行查询 而窗口函数可以让我们有选择的去某一部分数据进行汇总、计算和排序<窗口函数> OVER ([PARTITION B原创 2020-12-25 17:24:31 · 206 阅读 · 0 评论 -
datawhale-sql打卡之Task 4:集合运算
1 表的加减法表、视图和查询的执行结果都是记录的集合, 其中的元素为表或者查询结果中的每一行在标准 SQL 中, 分别对检索结果使用 UNION, INTERSECT, EXCEPT 来将检索结果进行并,交和差运算, 像UNION,INTERSECT, EXCEPT这种用来进行集合运算的运算符称为集合运算符UNIONSELECT product_id, product_name FROM product UNIONSELECT product_id, product_name FRO原创 2020-12-22 22:01:37 · 254 阅读 · 0 评论 -
datawhale-sql打卡之Task 3:复杂一点的查询
视图视图是一个虚拟的表,不同于直接操作数据表,视图是依据SELECT语句来创建的(会在下面具体介绍),所以操作视图时会根据创建视图的SELECT语句生成一张虚拟表,然后在这张虚拟表上做SQL操作。图片来源:《sql基础教程第2版》视图的优点可以将频繁使用的SELECT语句保存以提高效率。可以使用户看到的数据更加清晰。可以不对外公开数据表全部字段,增强数据的保密性。可以降低数据的冗余创建视图CREATE VIEW productsum (product_type, cnt_prod原创 2020-12-20 22:14:35 · 301 阅读 · 2 评论 -
datawhale-sql打卡之Task 2:基础查询与排序
基本查询从表中选取符合条件的数据SELECT <列名>,…… FROM <表名> WHERE <条件表达式>;SELECT * 代表查询全部列SQL中可以随意使用换行符,不影响语句执行(但不可插入空行),以分号;结尾设定汉语别名时需要使用双引号(")括起来。在SELECT语句中使用DISTINCT可以删除重复行。注释是SQL语句中用来标识说明或者注意事项的部分。分为1行注释"-- “和多行注释两种”/* */"。-- 想要查询出全部列时,原创 2020-12-17 12:32:05 · 209 阅读 · 0 评论 -
datawhale-sql打卡之Task 1:初识数据库
数据库数据库是将大量数据组织起来,以便高效访问的数据集合(DB,Data base)用来管理数据库的软件叫做数据库管理系统(DBMS,Data base management system)原创 2020-12-15 11:03:50 · 202 阅读 · 0 评论 -
sql学习(一): 数据库查询
数据库分类数据库的常见分类,是将数据库分为关系型数据库和非关系型数据库。将复杂的关系,以简单的二元形式进行表示,即用行和列的形式进行表示(表格形式),其中每一行叫做记录,列叫做字段。其中MySQL就是一种很常用的关系型数据库。数据库管理系统:DBMS关系型数据库管理系统(RDBMS)有Oracle、MySQL、SQL Server、DB2、IBM等。非关系型数据库管理系统(Nosql)有redis、Hbase、mongodb、neo4j等。MySQL是一个关系型的数据库管理系统。最初是由mysq原创 2020-11-18 21:23:25 · 840 阅读 · 0 评论