SELECT ABS(-9);#9
SELECT CEILING(9.4);#10
SELECT FLOOR(8.3);#8
返回一个0-1之间的随机数
SELECT RAND();
负数返回-1,正数返回1,0返回0
SELECT SIGN(0);#0
SELECT CHAR_LENGTH('Hello,World!');#12
SELECT CONCAT('你','好','世界','!');#你好世界!
SELECT INSERT('hello,world',7,11,'friend');
SELECT REPLACE('hello,world','hello','goodbye');#将hello替换为goodbye
SELECT REPLACE(studentname,'张','赵') AS 新名字
FROM student WHERE studentname LIKE '张%';
SELECT LOWER('Hello,World!'); /*全变为小写*/
#hello,world!
SELECT UPPER('hello,world!'); /*全变为大写*/
#HELLO,WORLD!
SELECT LEFT('hello,world',5);
SELECT RIGHT('hello,world',5);
SELECT SUBSTR('今天的天气真好',4,2); #截取字符串,开始和长度
SELECT REVERSE('hello,world');
SELECT CURRENT_DATE();
SELECT CURDATE();
SELECT NOW();
SELECT LOCALTIME();
SELECT SYSDATE();
SELECT YEAR(NOW());
SELECT MONTH(NOW());
SELECT DAY(NOW());
SELECT HOUR(NOW());
SELECT MINUTE(NOW());
SELECT SECOND(NOW());
SELECT VERSION(); #版本
SELECT USER(); #用户
函数名称 | 描述 |
---|---|
COUNT() | 返回满足SELECT条件的记录总和数,如SELECT COUNT(*)…(不推荐使用*,效率低) |
SUM() | 通常为数值字段或表达式列作统计,返回一列的总和 |
AVG() | 通常为数值字段或表达式列作统计,返回一列的平均值 |
MIN() | 可以为数值字段、字符字段或表达式列作统计,返回最大的值 |
MAX() | 可以为数值字段、字符字段或表达式列作统计,返回最小的值 |
#COUNT:非空的
SELECT COUNT(studentname) FROM student;
SELECT COUNT(*) FROM student;
SELECT COUNT(1) FROM student; #推荐
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) AS 最高分,MIN(studentresult) AS 最低分
FROM result AS r
INNER JOIN SUBJECT AS s
ON r.subjectno = s.subjectno
GROUP BY r.subjectno #按照科目分组
HAVING 平均分>80;
/*
WHERE写在GROU BY前面;
要是放在分组后面的筛选,要使用HAVING..
*/