
SQL
文章平均质量分 81
是杰夫呀
记录学习的点点滴滴。
展开
-
SQL 语法 left join on 多条件与 where 区别
left join on + 多条件与 where 的区别重点先匹配,再筛选 where 条件。本文将通过几个例子说明两者的差别。表 1:productid amount 1 100 2 200 3 300 4 400 表 2:product_detailsid weight exist 2 22 0 4 44 1 5 55 0 6 66 1 1. ...原创 2020-07-20 15:06:45 · 776 阅读 · 0 评论 -
HiveSQL percentile和percentile_approx 函数计算千分数
hive里面有个percentile函数和percentile_approx函数,其使用方式为percentile(col, p)、percentile_approx(col, p),p∈(0,1)p∈(0,1)其中percentile要求输入的字段必须是int类型的,而percentile_approx则是数值类似型的都可以。其实percentile_approx还有一个参数B:percentile_approx(col, p,B)。参数B控制内存消耗的近似精度,B越大,结果的准确度越高。默认.原创 2020-07-08 09:35:51 · 15966 阅读 · 0 评论 -
SQL函数之lag() over()、lead() over()函数
lag() over() 与 lead() over() 函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前 N 行的数据 (lag) 和后 N 行的数据 (lead) 作为独立的列, 从而更方便地进行进行数据过滤。这种操作可以代替表的自联接,并且 LAG 和 LEAD 有更高的效率。 over() 表示 lag() 与 lead() 操作的数据都在 over() 的范围内,他里面可以使用 partition by 语句(用于分组) or...原创 2020-07-07 19:25:06 · 60246 阅读 · 0 评论 -
「2020」拼多多数据分析笔试题 | 附解答
19届同学反馈,pdd的数据分析SQL部分出的很好,20届感叹道,说的太对了。pdd的笔试题一共五道,考试时只划分为一个部分,答题时间90分钟。第一部分:SQL查询题3道第一题:活动运营数据分析表1——订单表orders,大概字段有(user_id‘用户编号’, order_pay‘订单金额’ , order_time‘下单时间’)。表2——活动报名表act_apply,大概字段有(act_id‘活动编号’, user_id‘报名用户’,act_time‘报名时间’)需求:1.原创 2020-07-07 19:06:38 · 6127 阅读 · 12 评论 -
SQL 查找是否“存在“,别再 COUNT 了,很耗费时间的
根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT COUNT(*) 呢?无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的COUNT。而使用LIMIT 1则可以极大的提升速度。目前多数人的写法多次REVIEW代码时,发现如下现象:业务代码中,需要根据一个或多个条件,查询是否存在记录,不关心有多少条记录。普遍的SQL及代码写法如下SELECTcount(*) FROM table WHERE a=...原创 2020-07-07 17:37:45 · 861 阅读 · 1 评论 -
腾讯最爱考的2道数据分析面试题
原文作者:腾讯数据分析师 annatx今天给各位分享两道数据分析试题,这是腾讯数据分析面试官在面试时考察候选人喜欢出的题,属于硬性技能考察题目,特别好用。如果你想投鹅厂的数据分析师岗位,强烈建议看看。刷题做实战题目是王道,刷一道顶得上在网上刷百道。以下是面试官在面试候选人时的思考。面试都有固定的流程,通常是自我介绍,硬性技能考察,项目经历追问和Q&A环节。之所以把硬性技能考察紧跟自我介绍后面,是因为不管简历包装的有多好,招来的小伙伴始终要能get hands dirty,如.原创 2020-07-03 17:16:45 · 3190 阅读 · 1 评论 -
SQL解决除以零错误的两种方法
在实际项目中,我们可能会遇到求百分比,比值等带除法的sql语句。这时,我们也许会遇到分母为零的情况。下面给出解决的2种方法:1.用NULLIF函数。首先说一下NULLIF函数的语法:NULLIF(expr1,expr2)意思是说:如果expr1<>expr2的话,则传回expr1;如果expr1=expr2的话,则返回NULL。2.用case wh...原创 2020-03-04 22:20:11 · 14139 阅读 · 1 评论 -
常见的5个SQL面试问题
在任何以数据为中心的工作中,对SQL有深刻的理解都是成功的关键,尽管这不是工作中最有趣的部分。事实上,除了SELECT FROM WHERE GROUP BY ORDER BY之外,还有更多的SQL方法。你知道的功能越多,操作和查询所需的内容就越容易。作者希望在本文中学习和交流以下两件事:1)学习和教一些基本功能以外的SQL函数2)探讨一些SQL面试练习问题...原创 2020-03-02 15:13:19 · 4679 阅读 · 0 评论 -
【数据库SQL实战】题目51~61答案全解析(完)
51.查找字符串'10,A,B' 中逗号','出现的次数cnt查找字符串'10,A,B' 中逗号','出现的次数cnt。select (length('10,A,B') - length(replace('10,A,B', ',', ''))) / length(',') as cnt;select (length('10,A,B') - length(replace('10,A,...原创 2019-09-23 13:21:24 · 447 阅读 · 0 评论 -
【数据库SQL实战】题目41~50答案全解析
41. 构造一个触发器audit_log构造一个触发器audit_log,在向employees_test表中插入一条数据的时候,触发插入相关的数据到audit中。CREATE TABLE employees_test(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),...原创 2019-09-22 22:54:25 · 426 阅读 · 0 评论 -
【数据库SQL实战】题目31~40答案全解析
31.获取select * from employees对应的执行计划获取select * from employees对应的执行计划思路:在 SQLite 语句之前,可以使用 "EXPLAIN" 关键字或 "EXPLAIN QUERY PLAN" 短语,用于描述表的细节。如果省略了 EXPLAIN 关键字或短语,任何的修改都会引起 SQLite 语句的查询行为,并返回有关 SQ...原创 2019-09-21 23:27:35 · 739 阅读 · 0 评论 -
【数据库SQL实战】题目21~30答案全解析
21. 查找所有员工自入职以来的薪水涨幅情况(多表)查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) N...原创 2019-09-21 16:07:29 · 448 阅读 · 0 评论 -
SQL 语句快速参考
SQL 语句和对应语法语句 语法 AND / OR SELECT column_name(s) FROM table_name WHERE condition AND|OR condition ALTER TABLE (add column) ALTER TABLE table_name ADD column_name datatype ...原创 2019-08-30 09:22:14 · 135 阅读 · 0 评论 -
SQL语句的执行顺序
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大多数的编程语言中,代码执行的顺序就是编码的顺序;而在SQL语言中,编码的顺序和执行的顺序差异非常大。SQL语句中第一个被执行的一定是FROM语句;而尽管SELECT语句位于开头,但是它被执行的顺序非常靠后。(8)SELECT (9)DISTINCT (11)<Top Num> <select li...原创 2019-08-29 11:36:55 · 211 阅读 · 0 评论 -
大数据分析工程师面试20题 ◀ SQL/SparkSql/HiveQL
大数据分析工程师80%的时间都在与SQL打交道,通过SQL完成业务方的各种临时性需求分析和常规性报表统计。熟练的SQL技能能够大大提高工作效率。本文将SQL/SparkSql/HiveQL放在一起来梳理一份常见题型的面试题库。01 SQL基础知识考察对于面试初级数据分析师来说,SQL的面试重点会放在基础知识的考察,如果最基本的基础概念和语法都不能熟练回答出来的话,通过面试的几率就...原创 2019-08-16 21:19:27 · 1427 阅读 · 0 评论 -
SQL ▶ 实现累计报表
1. 需求有如下访客访问次数的统计表 t_access,三列分别是访客,访问月份,访问次数访客,访问月份,访问次数A,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A,2015-01,5A,2015-02,4A,2015-02,6B,2015-02,10B,2015-02,5最终想要实现的是累计报表:...原创 2019-08-15 15:19:03 · 627 阅读 · 1 评论 -
【数据库SQL实战】题目11~20答案全解析
目录11. 获取所有员工当前的manager(多表)12. 获取所有部门中当前员工薪水最高的相关信息(多表)13. 从titles表获取按照title进行分组(单表)14. 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略。(单表)15. 查找employees表(单表)16. 统计出当前各个title类型对应的员工当前薪水对应的平均工资(多表...原创 2019-08-15 01:00:31 · 423 阅读 · 0 评论 -
【数据库SQL实战】题目1~10答案全解析
目录1. 查找最晚入职员工的所有信息(单表)2. 查找入职员工时间排名倒数第三的员工所有信息(单表)3. 查找当前薪水详情以及部门编号dept_no(多表)4. 查找所有已经分配部门的员工的last_name和first_name(多表)5. 查找所有员工的last_name和first_name以及对应部门编号dept_no(多表)、6. 查找所有员工入职时候的薪水情况(...原创 2019-08-13 13:02:25 · 403 阅读 · 0 评论