:SQL基本函数,聚合函数对
一组
值执行计算,并返回单个值
,也被称为组函数。 聚合函数经常与 SELECT 语句的 GROUP BY 子句的HAVING一同使用。
COUNT()
SELECT COUNT(*) #返回book表中总记录数 FROM book SELECT COUNT(1) #返回book表中总记录数 FROM book SELECT COUNT(name) # 返回name字段不为空的总条数 FROM book
AVG()
SELECT AVG(age) AS '平均值',COUNT(name) AS '总数' FROM student
MAX()、MIN()
SELECT MAX(age) AS '最大值', MIN(age) AS '最小值', AVG(age) AS '平均值', COUNT(*) AS '总条数' FROM student
SUM()
SELECT MAX(age) AS '最大值', MIN(age) AS '最小值', AVG(age) AS '平均值', COUNT(*) AS '总条数', SUM(age) AS '总数' FROM student
-- 返回当前系统时间 SELECT NOW() -- 获取当前日期 SELECT curdate(); -- 获取当前时间 SELECT CURRENT_TIME(); -- 获取时间戳 SELECT CURRENT_TIMESTAMP();
-- 绝对值 SELECT ABS(-8); -- 向上取整 SELECT CEILING(9.4); -- 向下取整 SELECT FLOOR(9.4); -- 随机数,返回一个0-1之间的随机数 SELECT RAND(); -- 符号函数: 负数返回-1,正数返回1,0返回0 SELECT SIGN(0); SELECT CEILING(RAND()*1000);
-- 返回字符串包含的字符数 SELECT CHAR_LENGTH('坚持就能成功'); -- 合并字符串,参数可以有多个 SELECT CONCAT('我','爱','程序'); -- 替换字符串,从某个位置开始替 换某个长度 SELECT INSERT('我爱编程helloworld',1,2,'超级热爱'); -- 小写 SELECT LOWER('Lynn'); -- 大写 SELECT UPPER('Lynn'); -- 从左边截取 SELECT LEFT('hello,world',5); -- 从右边截取 SELECT RIGHT('hello,world',6); -- 替换字符串 SELECT REPLACE('Lynn说坚持就能成功','坚持','努力'); -- 截取字符串,开始和长度 SELECT SUBSTR('Lynn说坚持就能成功',4,6); -- 反转 SELECT REVERSE('Lynn说坚持就能成功');
嵌套查询定义
:嵌套查询是指在一个外层查询中包含有另一个内层查询。其中外层查询称为主查询,内层查询称为子查询。SQL允许多层嵌套,由内而外地进行分析,子查询的结果作为主查询的查询条件。子查询中一般不使用order by子句,只能对最终查询结果进行排序。
SELECT CEILING(AVG(jack_table.age)) AS '年龄', SUM(jack_table.age) AS '总数', MIN(jack_table.age) AS '最小年龄', MAX(jack_table.age) AS '最大年龄', COUNT(jack_table.age) AS '总条数' FROM ( SELECT id AS ID, name AS NAME, age AS AGE FROM student WHERE name = 'JACK' ) AS jack_table