官网: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