记录一些在力扣中用到的函数
- CONCAT(str1, str2, …):可以将多个字符串拼接在一起
- LEFT(str, length):从左开始截取字符串str,截取length个
- UPPER(str):将字符串str中所有字符转为大写
- LOWER(str):将字符串str中所有字符转为小写
- SUBSTRING(str, begin, end):截取字符串,end 不写默认为空,从第begin个到第end个
- GROUP_CONCAT([DISTINCT] 列 [OREDER BY 列] [sepapator ‘分隔符’]):将该列元素取出,按分隔符连接在一起(一般配合GROUP BY使用)
- SELECT 要匹配的字符/字段 REGEXP ‘正则操作符’:选择符合判断的选项
- SELECT1 Union SELECT2 :产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集
- UNION 和 UNION ALL 的区别:union会进行查重去除重复,union all不查重
- rank() over:查出指定条件后的进行排名,条件相同排名相同,排名间断不连续即1,1,3,4,5,5,7
- dense_rank() over:查出指定条件后进行排名,条件相同排名相同,排名不间断连续,即1,1,2,3,3,4
- row_number() over:查出指定条件后进行排名,条件相同排名也不相同(无并列),排名间断不连续
- row_number() over([partition by value_expression, …n] order by columnName):按照columnName排序,按 value_expression, …n 分组
- DATEDIFF(date1, date2):算出date1-date2的值
-
TIMESTAMPDIFF(DAY HOUR MINUTE,值1, 值2):可以计算相差天数、小时、分钟和秒 - adddate(date, INTERVAL value addunit):将指定时间间隔添加到日期值date
- ROUND(值/计算,保留几位小数):四舍五入
- coalesce( 值1 ,值2,… ):返回参数中的第一个非空表达式(从左到右)
- MOD(值1,值2):值1 % 值2(求余数)
-
DATE_FORMAT(date, format):用于以不同的格式显示日期/时间数据。date参数是合法日期,format规定日期/时间的输出格式 OVER():窗口函数
-
格式:
-
OVER(PARTITION BY <用于分组的列名>用于分组的列名>
-
ORDER BY<按序叠加的列名>按序叠加的列名>
-
ROWS <窗口滑动的数据范围>)窗口滑动的数据范围>
-
-
<窗口滑动的数据范围>用来限定操作所运用的数据范围,具体如下:
窗口滑动的数据范围>
-
当前行 - current row
-
之前的行 - preceding
-
之后的行 - following
-
无界限 - unbounded
-
表示从前面的起点 - unbounded preceding
-
表示到后面的终点 - unbounded following
-
举例:
-
取当前行和前五行:ROWS between 5 preceding and current row –共6行
-
取当前行和后五行:ROWS between current row and 5 following –共6行
-
取前五行和后五行:ROWS between 5 preceding and 5 following –共11行
-