1.concat()
最常用的字串拼接方法,但遇到拼接中的字串出現null的情況會返回null
語法:concat(string1,string2)
例子:select concat(s_name,s_***) 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
引用:
row_number():順序排序——1、2、3
rank():並列排序,跳過重複序號——1、1、3
dense_rank():並列排序,不跳過重複序號——1、1、2
視窗函式語法:select 視窗函式 over (partition by 用於分組的列名, order by 用於排序的列名
mysql函式split功能實現
先設定 set global log bin trust function creators 1 1.函式func splitstringtotal 將字串按指定方式分割,並計算單元總數 複製 如下 delimiter create function func get splitstringtota...
mysql 實現類似開窗函式的功能
mysql8 已經支援開窗函式 sql server 的開窗函式 mysql8 之前的版本不支援開窗函式 目的,取每個channel 按created on 倒序排的前20條 示例如下 有部分冗餘資料 select id,url,channel,created on,rank from select...
mysql增加自定義函式功能
mysql預設是不能自定義函式的 當create function時 this function has none of deterministic,no sql,or reads sql data in its declaration and binary solution 1 exec set ...