sql笔记

张开发
2026/6/17 11:52:17 15 分钟阅读
sql笔记
一、count函数是否统计NULLCOUNT(*) #统计所有行包括NULL COUNT(1) #统计所有行包括NULL COUNT(column_name) #不统计该列为NULL的行 COUNT(DISTINCT column #不统计NULL且去重二、非空数据的比率avg(event_date is not null)三、活用case when和ifsum(if(statuscompleted,0,1)) sum(case when status ! completed then 1 else 0 end)当一个单元格有多个数据时比如group by分组之后if和case when都只会判断这个单元格对应的第一个数据读取不到其他的数据所以需要用聚合函数去遍历分组的每一个数据。力扣1179题。四、delete不可以在一层代码里又查询又删除五、找连续数据1首选 id-row_number 这个不变值2用lag和lead3用自连接筛选id连续和数据满足条件六、union的用法1可以用来联合查询两个表这两个表必须列数相同列名取第一个select的列名两种列的数据类型必须相同2union对完全相同的两行会去重而union all不会所以union all效率高七、coalesce函数COALESCE(argument1, argument2,...) #从参数列表中返回第一个非 NULL 的参数八、group_concat函数是一个聚合函数用于将同一列的不同值连接到一起group_concat( distinct expression1 # 要连接的列 order by expression2 # 排序规则的列 separator sep # 指定产品名称应以 sep 分隔 );九、把名字的第一个字母改为大写SELECT user_id, CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) AS name FROM Users ORDER BY user_id;substring(column_name, start, length)这将从列的值中提取一个子字符串从指定的起始位置开始直到指定的长度。upper(expression)这会将字符串表达式转换为大写。lower(expression)这会将字符串表达式转换为小写。concat(string1, string2, ...)这会将两个或多个字符串连接成一个字符串。十、char_length() 字符串的长度

更多文章