SQL
文章平均质量分 93
奥卡姆的剃刀
GitHub: https://github.com/LeronQ
展开
-
SQL中row_number() over(partition by)详解
row_number 语法ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以便于进行编号partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反...原创 2018-12-19 15:29:45 · 202394 阅读 · 11 评论 -
SQL---模糊查询与正则表达式详解和对比
1:模糊查询在进行数据库查询的时候,有完整查询和模糊查询之分;完整查询就是我们平时查询的普通语句(对某个查询条件确定的前提下),而模糊查询就是常见的where 后面增加了 like 关键字。一般模糊查询语句如下:select 字段 from 表 where 某字段 like 条件首先,为了直观地查看结果,我们创建一张学生信息表:% 模式:表示任意0个或者多个字符。可以匹配任意类...原创 2018-12-16 13:39:49 · 11055 阅读 · 3 评论 -
SQL中分析函数first_value(),last_value,sum() over(partition by...)详解
SQL中分析函数first_value(),last_value,sum() over(partition by…)详解首先,生成有一张原始表score,s_id表示学生id,c_id表示课程id,s_core表示最后课程的成绩,表结构数据如下所示:首先,按照课程c_id进行分组,按照成绩s_core进行排序select * ,row_number() over (partition by...原创 2019-01-24 15:38:19 · 51243 阅读 · 7 评论 -
大数据组件Presto,Spark SQL,Hive相互关系
大数据组件Presto,Spark SQL,Hive相互关系工作上经常写SQL,有时候会在Presto上查表,或者会Presto web页面上写SQL语句。而有时候会在堡垒机上的服务器利用Spark在Yarn模式下写SQL语句,而有时候查询耗时比较低的情况下,直接利用hive -e 命令直接写SQL。也就是说:在Spark ,Hive,Presto都可以写SQL 的,但是这三者之间有什么区别或者...原创 2019-01-10 11:21:36 · 20469 阅读 · 0 评论 -
SQL——coalesce函数详解
最近写SQL的过程中,学习到一个非常有用的函数:coalesce。特别是在做统计的时候,这个函数作为条件可以兼顾到一些特殊情况。这里做一下总结和分享。用途:(1):将控制替换成其他值;(2):返回第一个非空值表达式COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返...原创 2019-01-22 15:50:20 · 260356 阅读 · 12 评论 -
SQL筛选两个字段同时满足条件的结果
现在有一张student表,包含三个字段:s_id,c_id,s_score。目的1:只保留得到s_id为01,s_score为80的结果输入语句:select * from score where case when s_id =01 and s_score =80 then 0 else 1 end=0;结果:目的2:筛选除同时满足s_id为01,s_score为80以外的所...原创 2019-03-21 17:58:55 · 21415 阅读 · 1 评论