数据分析相关sql题目总结

前言

  • 总结刷leetcode和面试相关sql题目的一些常见的函数,容易搞混的一些概念

常见函数

1. 排名相关 窗口函数

  • 面试中考排名相关的sql题目,就是想考以下函数之间的区别

    • row_number():行号,同薪不同名

    • rank():同薪同名,会跳级。如:1 2 2 4

    • dense_rank():同薪同名,不会跳级。如:1 2 2 3

  • 快手数据分析面试中遇到rank()和dense_rank()的区别的sql题目

2. 窗口函数中表示范围的关键词

  • 以下表示范围的关键词,在over中

    • rows between (unbounded preceding-对当前行前面范围不作限制)(1 preceding-前1行)(current row-当前行),and (unbounded following-对当前行的后面范围不作限制), (current row-当前行)1 following-后1行

    • 在leetcode:1204. 最后一个能进入电梯的人就会用到该关键词

    • 对于sum,count的聚合函数中,如何缺省rows between ... and的关键词时 默认为rows between unbounded preceding and unbounded following。 这个概念非常容易忘记

3. 日期操作函数

  • date_sub: date_sub(date, interval xx type),type:day, week, year, month, 等等

  • date_add:同date_sub

  • date_diff: 计算两个日期之间的interval的个数,如果interval=day就是计算两个日期之间的天数

  • date_format: date类型日期格式化,比如date类型取年-月类型,可以为date_format(date, '%Y-%m')等

你可能感兴趣的:(数据分析相关sql题目总结)