聚合函数
聚合函数可以对多行数据进行统计。聚合函数使用需要注意以下点:
- WHERE 关键字后不能跟聚合函数,因为WHERE 关键字执行顺序大于聚合函数。
- HAVING 关键字后可以使用聚合函数,用于过滤不符合条件的数据。
SUM(字段名)
描述:
对数值求和。
实例:
SELECT SUM(goods_id) FROM goods;
截屏2023-05-25 16.24.30.png
AVG(字段名)
描述:
对数值求平均值。
实例:
SELECT AVG(goods_id) FROM goods;
截屏2023-05-25 16.49.48.png
MAX(字段名)
描述:
对数值求最大值。
实例:
SELECT MAX(goods_id) FROM goods;
截屏2023-05-25 17.01.00.png
MIN(字段名)
描述:
对数值求最小值。
实例:
SELECT MIN(goods_id) FROM goods;
截屏2023-05-26 10.07.54.png
COUNT(字段名)
描述:
统计数量。
实例:
SELECT COUNT(goods_id) FROM goods;
截屏2023-05-26 10.13.38.png
日期相关函数
NOW()
描述:
获取当前日期与时间。
实例:
SELECT NOW();
截屏2023-05-25 15.22.45.png
CURDATE()
描述:
获取当前的日期。
实例:
SELECT CURDATE();
截屏2023-05-25 15.27.01.png
CURTIME()
描述:
获取当前的时间。
实例:
SELECT CURTIME();
截屏2023-05-25 15.30.56.png
DATE(日期)
描述:
在年月日时分秒中提取年月日。
实例:
SELECT DATE(NOW());
截屏2023-05-25 15.38.05.png
TIME(日期)
描述:
在年月日时分秒中提取时分秒。
实例:
SELECT TIME(NOW());
截屏2023-05-25 15.45.37.png
EXTRACT(日期中要提取的时间单位)
描述:
提取指定的时间单位。YEAR 代表年、MONTH 代表月、DAY 代表日、HOUR 代表小时、MINUTE 代表分钟、SECOND 代表秒。
实例:
截屏2023-05-26 10.34.24.pngDATE_FORMAT(日期,时间格式)
描述:
日期格式化函数。%Y 代表四位年、%y 代表两位年、%m 代表两位月(格式为01……12)、%c 代表一位月(格式为1……12)、%d 代表日、%H 代表小时(24小时制)、%h代表小时(12小时制)、%i 代表分钟、%s 代表秒。
实例:
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日%H时%i分%s秒');
截屏2023-05-25 16.06.02.png
字符串函数
CONCAT(字符串或字段名,'拼接的内容')
描述:
对字符串进行拼接。
实例:
SELECT CONCAT(goods_name,'拼接的字符串') FROM goods;
截屏2023-05-26 13.04.34.png
CHAR_LENGTH(字符串或字段名)
描述:
获取字符串长度。
实例:
截屏2023-05-26 13.46.20.png 截屏2023-05-26 13.09.53.pngINSTR(字符串或字段名,'被查询的字符串')
描述:
获取字符串在另一字符串中出现的位置。
实例:
SELECT goods_name,INSTR(goods_name,'利') FROM goods;
截屏2023-05-26 13.22.35.png
INSERT(字符串或字段名,插入位置,替换长度,'插入内容')
描述:
插入字符串,插入位置从1开始。
实例:
SELECT goods_name,INSERT(goods_name,3,0,'纯') FROM goods WHERE goods_id = 1;
截屏2023-05-26 14.20.01.png
UPPER(字符串或字段名);
描述:
字符串转换为大写。
实例:
SELECT UPPER('yyyy');
截屏2023-05-26 14.25.13.png
LOWER(字符串或字段名)
描述:
字符串转换为小写。
实例:
SELECT LOWER('YYYY');
截屏2023-05-26 14.29.00.png
LEFT(字符串或字段名,截取长度)
描述:
从字符串左侧开始截取指定长度的字符串。
实例:
SELECT goods_name,LEFT(goods_name,2) FROM goods;
截屏2023-05-26 14.40.36.png
RIGHT(字符串或字段名,截取长度)
描述:
从字符串右侧开始截取指定长度的字符串。
实例:
SELECT RIGHT('右侧开始截取',3);
截屏2023-05-26 14.45.46.png
TRIM(字符串或字段名)
描述:
去除字符串两端空格。
实例:
SELECT TRIM(' 两端有空 格的字符串 ')
截屏2023-05-26 14.54.02.png
SUBSTRING(字符串或字段名,截取开始位置,截取长度)
描述:
在指定位置开始,截取指定长度的字符串。若无第三参数则截取到末尾。
实例:
SELECT goods_name,SUBSTRING(goods_name,1,1) FROM goods;
截屏2023-05-26 16.17.24.png
REPEAT(字符串或字段名,重复次数);
描述:
重复指定的字符串。
实例:
SELECT REPEAT('重复字符串',3);
截屏2023-05-26 16.25.52.png
REPLACE(字符串或字段名,'被替换内容','替换内容')
描述:
替换字符串中指定的内容。
实例:
SELECT goods_name,REPLACE(goods_name,'伊利','完达山')FROM goods WHERE goods_id = 1;
截屏2023-05-26 16.31.11.png
REVERSE(字符串或字段名)
描述:
将字符串内容反转。
实例:
SELECT goods_name,REVERSE(goods_name)FROM goods WHERE goods_id = 1;
截屏2023-05-26 16.36.00.png
数学相关函数
FLOOR(数值或字段名)
描述:
对数值向下取整。
实例:
SELECT FLOOR(3.89);
截屏2023-05-26 16.52.03.png
ROUND(数值或字段名)
描述:
对数值四舍五入取整。
实例:
SELECT ROUND(23.66);
截屏2023-05-26 16.54.59.png
TRUNCATE(数值或字段名,要保留的小数位数)
描述:
保留指定的小数位,不做四舍五入,多余的小数位直接舍去,不足则进行补0。
实例:
SELECT TRUNCATE(23.896,2);
截屏2023-05-26 17.02.36.png
RAND()
描述:
返回 0 <= V <1.0 之间的双精度浮点数。
实例:返回8 到 10 之间的随机数
截屏2023-05-26 17.13.42.png
网友评论