
SQL编程
记录使用结构化查询语言实现数据汇总、查询、分析的具体操作和建模思维,涉及关系型数据库MySQL、Hive SQL和Presto SQL的语法
LdyLLLLLLLD
不想做优秀的分析师的茶树菇不是优秀的分析师
展开
-
Hive/Presto中函数grouping sets用法详解(踩坑总结,看到赚到)
本文详细记录了函数grouping sets使用时遇到的坑,基于Hive和Presto实现。原创 2022-04-24 00:07:06 · 23151 阅读 · 3 评论 -
MySQL、HQL、impala、presto 的语法常见区别(持续更新中)
工作中会用到hive和presto,但语法和MySQL存在差异。及时记录,持续更新原创 2021-11-24 19:52:38 · 6373 阅读 · 0 评论 -
数据分析项目:CDNOW用户消费数据分析(基于MySQL实现)
CDNow网站用户消费行为数据处理项目原创 2021-08-09 23:04:57 · 1484 阅读 · 0 评论 -
留存率计算问题
首先研究 牛客SQL题目中的两道留存率计算问题,即第68题(总体留存率)和第70题(各日期留存率)原创 2021-06-02 22:02:41 · 488 阅读 · 0 评论 -
牛客刷题——SQL实战 笔记
牛客做题笔记。非全部题目原创 2021-05-21 18:56:32 · 493 阅读 · 0 评论 -
力扣刷题SQL免费题 笔记
力扣免费题。部分题目笔记。原创 2021-05-17 23:57:32 · 371 阅读 · 0 评论 -
MySQL中where与having的关系与区别
浏览网页对这个问题有了深入的理解,主要参考了如下两个链接,得到的结论是:区别在于功能和性能两个方面,链接1对功能描述比较详细,链接2主要从性能角度进行解释。where与having的区别具体区别:1、Where 是一个约束声明,使用Where约束来自数据库的数据,Where是在结果返回之前起作用的,Where中不能使用聚合函数。2、Having是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。3、在查询过程中聚合语句(sum,min,max,avg,原创 2021-05-01 14:05:58 · 1542 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day15( 知识点:时间函数)
tonight 打工狗持续加班加满了。。问题42至问题46 时间函数应用原创 2021-03-03 23:52:25 · 226 阅读 · 1 评论 -
《SQL面试50题》刷题笔记 day14( 知识点:各种小知识点)
巨忙的一天,继续加班原创 2021-03-02 23:59:45 · 121 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day13( 知识点:各种小知识点)
问题25至问题37原创 2021-03-01 22:23:13 · 154 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day12( 知识点:各种小知识点)
问题19 查询出只选修两门课程的学生学号和姓名问题20 查询所有课程的成绩第2名到第3名的学生信息及该课程成绩问题21 查询男生、女生人数问题22 查询名字中含有"风"字的学生信息问题23 查询同名学生名单,并统计同名人数问题24 查询1990年出生的学生名单...原创 2021-02-28 23:48:09 · 142 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day11( 知识点:case when[conditions] then result else result end)
问题17 统计各科成绩各分数段人数及所占百分比:课程编号,课程名称,[100-85],[85-70],[70-60],[60-0] 及所占百分比问题18 查询每门课程被选修的学生数原创 2021-02-27 23:33:45 · 152 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day10(知识点:order by)
问题15 查询学生得总成绩并进行排名问题 16 查询不同老师所教不同课程平均分从高到低显示原创 2021-02-26 23:16:02 · 161 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day9(知识点:MySQL8.0开窗函数排序、MySQL8.0以下用户变量、联结法排序)
多方法排序(仅分组排序,非全局排序)原创 2021-02-25 22:56:37 · 275 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day8(知识点:左联结、开窗函数lead、case when condition用法)
问题12 按平均成绩由高到低显示所有学生的所有课程的成绩以及平均成绩问题13 查询各科成绩最高分、最低分和平均分:以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率--及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90原创 2021-02-24 23:37:49 · 527 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day7(知识点:函数group_concat()、开窗函数lead、内联结)
问题9 查询和"01"号的同学学习的课程完全相同的其他同学的信息问题10 查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩问题11 检索"01"课程分数小于60,按课程“01”的分数降序排列的学生信息原创 2021-02-23 23:50:38 · 471 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day6(知识点:distinct、内联结)
晚饭后睡到了快9点才清醒,做1个题打卡,然后要加班打工了。啊天晓得题什么时候能刷完,希望自己早点精通MySQL!问题8 查询至少有一门课与学号为"01"的同学所学相同的同学的信息首先 嵌套子查询select * from student where sid in(select sid from score where cid in(select cid from score where sid='01')) and sid<>'01';子查询一般都可以写成联结,写的时候on后面的原创 2021-02-22 21:27:58 · 229 阅读 · 1 评论 -
《SQL面试50题》刷题笔记 day5(知识点:操作符not in、联结)
问题7 查询没学过"张三"老师讲授的任一门课程的学生姓名(与问题5相关)原创 2021-02-21 20:42:32 · 151 阅读 · 2 评论 -
《SQL面试50题》刷题笔记 day4(知识点:ifnull、分组函数group by特殊用法、where on条件表达式)
问题6 查询没有学全所有课程的同学的信息原创 2021-02-20 23:47:52 · 243 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day3(知识点:通配符过滤、分组函数group by)
问题3 4 5原创 2021-02-19 23:47:42 · 179 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day2(知识点:左联结、分组函数group by)
问题1.1、1.2和1.3来源于一个网页,应该不是50题中的,是第一题的拆解问题。问题2.查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩原创 2021-02-18 16:10:18 · 243 阅读 · 0 评论 -
《SQL面试50题》刷题笔记 day1( 知识点:联结 开窗函数lead)
SQL面试50题刷题笔记 day1代码采用MySQL 8.0 命令行程序运行。在命令行中先创建了test_db的数据库,数据库内表的建立是采用了下面这个链接中的数据。问题1:查询"01"课程比"02"课程成绩高的学生的信息及课程分数首先想到用子查询或者联结。#这是第一种解法,用join,有比我写的更美观的。#我这里存有一个疑问,就是两个分数比较的这个条件别人案例中大多放在联结表建立之后,不知道我这样放进联结表建立前是否影响效率,有待后续验证。 select c.sid, s.*, c.scor原创 2021-02-17 23:52:18 · 463 阅读 · 1 评论