1.mysql拼接字符串
1.CONCAT()
最常用的字符串拼接方法,但遇到拼接中的字符串出现null的情况会返回null
语法:CONCAT(string1,string2)
例子:SELECT CONCAT(s_name,s_sex) FROM student
2.CONCAT_WS()
比CONCAT的优点,多了个分隔符功能,如果某个字符串为null,会忽略null,并返回其他字符串的值
语法:CONCAT_WS(separator,str1,str2,…)
例子:SELECT CONCAT_WS('--',str1,str2) FROM student
效果:str1--str2
3.GROUP_CONCAT()
连接字段,多个值显示为一行
语法 :group_concat( [DISTINCT] 连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )连接的可以是多个字段,也可以对连接字段进行排序
例子:mysql > SELECT GROUP_CONCAT(s_id) FROM student
效果:1,2,3,4
4.窗口函数
引用 :https://blog.csdn.net/weixin_39010770/article/details/87862407
-
序号函数:row_number() / rank() / dense_rank()
- ROW_NUMBER():顺序排序——1、2、3
- RANK():并列排序,跳过重复序号——1、1、3
- DENSE_RANK():并列排序,不跳过重复序号——1、1、2
-
分布函数:percent_rank() / cume_dist()
-
前后函数:lag() / lead()
-
头尾函数:first_val() / last_val()
-
其他函数:nth_value() / nfile()
窗口函数语法:select 窗口函数 over (partition by 用于分组的列名, order by 用于排序的列名