1. 自定义排序: field(排序字段名,"v1","v2","v3")
select * from 表名称 order by field(排序字段名,"v1","v2","v3"); -- 按照v1,v2,v3进行排序
2. 空值排序: if(isnull(排序字段名),2,1)
select * from 表名称 order by if(isnull(排序字段名),2,1),排序字段名; -- 排除空值的干扰,将空值排到最后
3. 分组连接函数: group_concat(连接字段名 [order by 排序字段名 排序规则] [separator '连接符号'] )
select group_concat(连接字段名 order by 排序字段名 separator '_')
4. 分组统计数据后再进行统计汇总: with rollup
select 分组字段名,sum(求和字段名) from 表名 group by 分组字段名 with rollup; -- 将所有的分组求总和
5. ignore 关键字: 在存在唯一键冲突时,有不做修改,无则添加
insert ignore into 表名 (f1,f2,f3) values (v1,v2,v3)
6. replace 关键字: 在存在唯一键冲突时,有则先删除在插入,无则添加
replace into 表名 (f1,f2,f3) values (v1,v2,v3);
7. on duplicate key update 关键字: 在存在唯一键冲突时,有就更新,无则删除
insert into 表名称 (f1,f2,f3) values (v1,v2,v3) on duplicate key update v2=v2+10;
SQL进阶(常用函数及其关键字的组合使用)
于 2024-08-25 22:17:56 首次发布