官网:https://dev.mysql.com/doc/refman/8.0/ja/
--常用函数 SELECT ABS(-8) --绝对值 SELECT CEILING(8.1) --向上取整 SELECT FLOOR(8.9) -- 向下取整 SELECT RAND()--返回一个0~1之间的随机数 SELECT SIGN() --判断一个数的符号 0-0 负数返回-1.正数返回1 --字符串函数 SELECT CHAR_LENGTH('RNG牛逼') --字符串长度 SELECT CONCAT('我','爱','你') AS 表白 --拼接字符串 SELECT INSERT ('我爱编程helloworld',1,2,'超级热爱')--查询,从某个位置开始替换某个长度 SELECT LOWER('QWER')--大写转换成小写 SELECT UPPER('qwer')--小写转换成大写 SELECT INSTR('RayolNeverGiveup','N')--返回第一次出现字符串的位置 SELECT REPLACE('你好','你','我') --替换出现的指定字符串 SELECT SUBSTR('我说RNG世界赛加油',3,8)--返回指定的字符串(源字符串,截取字符串的位置,截取的长度) SELECT REVERSE('清晨我上马') --反转,反过来 --查询姓小的学生,把小替换成晓 SELECT REPLACE(studentname,'小','晓') FROM student WHERE studentname LIKE '小%'
函数名称 | 描述 |
COUNT() | 计算 |
SUM() | 求和 |
AVG() | 平均值 |
MAX() | 最大值 |
MIN() | 最小值 |
---------聚合函数 --都能后统计表中的数据(想查询一个表中有多少个记录,就使用count()) SELECT COUNT(`sex`) FROM student --指定列 count(字段),会忽略所有的null值 SELECT COUNT(*) FROM student --COUNT(*) 不会忽略null值, 本质 计算行数 SELECT FROM student -- COUNT(1) 不会忽略null值 本质 计算行数 SELECT SUM(studentresult) AS 成绩总和 FROM result SELECT AVG(studentresult) AS 平均分 FROM result SELECT MAX(studentresult) AS 最高分 FROM result SELECT MIN(studentresult) AS 最低分 FROM result
分组和过滤:
--查询不同课程的平均分,最高分,最低分 --核心(根据不同的课程分组) SELECT subjectname,AVG(studentresult) AS 平均分,MAX(studentresult),MIN(studentresult) FROM result AS r INNER JOIN `subject` AS sub ON r.subjectno = sub.subjectno GROUP BY r.subjectno --通过什么字段来分组 HAVING 平均分>80