mysql 函数反向应用_MySQL函数应用

常用函数--数学函数

函数名

作用

示例

ABS(x)

返回x的绝对值

Select abs(2); 结果2

FLOOR(x)

返回小于x的最大整数值

Select floor(1.23); 结果1 Select floor(-1.23); 结果-2

GEILING(x)

返回大于x的最小整数值

Select ceiling(1.23);结果2

MOD(x,y)

返回x/y的模(余数)

Select mod(234,10];结果4

TRUNCATE(x,y)

返回数字x截短为y位小数的结果

Select truncate(1.223,1);结果: 1.2

ROUND(x,y)

返回参数x的四舍五入的有y位小数的值

Select round(1.298,1);结果1.3

常用函数--字符串函数

d0d4246111d8724fa021f67e07302ee5.png

d67eba5c3cc11ffdcbd4a416af6266d4.png

常⽤函数--⽇期时间函数

e8a34169185a24723965ef5f2e8c1c17.png

常⽤函数--系统函数

7791b8eff0d64aa02f2d788da61e1024.png

聚合函数

SQL中提供的聚合函数可以用来统计、求和、求最值等等。

d94c9b623347fb04e5653f2510e1e50e.png

聚合函数应⽤

执⾏列、⾏计数(count)

SELECT COUNT(*) FROM 表名

计算表中有多少⾏数据

SELECT COUNT(*) FROM users;

计算表中⼥⽣数目

SELECT COUNT(*) FROM users WHERE sex='⼥';

计算表中有⼯资的成员数

SELECT COUNT(salary) FROM users;

计算表中的⼯作数量

SELECT COUNT(DISTINCT job) FROM users;

计算男性用户表中⼯资合计

SELECT SUM(*) FROM users WHERE sex='男';

计算表中用户的平均年龄

SELECT AVG(age) FROM users;

计算表中用户的最⾼⼯资和最低⼯资

SELECT MAX(salary) FROM users; --最⾼

SELECT MIN(salary) FROM users; --最低

分组查询group by

在实际SQL应用中,经常需要进⾏分组聚合,即将查询对象按⼀定条件分组,然后对每⼀个组进⾏聚合分析。

创建分组是通过GROUP BY⼦句实现的。GROUP BY⼦句用于归纳信息类型,以汇总相关数据。

GROUP BY的作用是通过⼀定的规则将⼀个数据集划分成若⼲个小的区域,然后针对若⼲个小区域进⾏数据处理。

SQL中数据可以按列名分组,搭配聚合函数⼗分实用。

SELECT 分组项1[,分组项2],分组表达式 FROM 表

WHERE 筛选条件

GROUP BY 分组项1[,分组项2]

HAVING 过滤分组

分组表达式

统计每个性别的平均年龄

SELECT sex,AVG(age) AS 平均年龄

FROM users

GROUP BY sex

分组中也可以加⼊筛选条件WHERE

统计每个班上20岁以上的学⽣⼈数

SELECT sex,COUNT(cname)

FROM users WHERE age>20

GROUP BY sex;

执⾏顺序为:WHERE过滤→分组→聚合函数。

查询每个省份的⼈数和最小年龄

SELECT province, COUNT(cname), MIN(age)

FROM users GROUP BY province

查询每个省份的男性和⼥⽣的⼈数

SELECT province,sex, COUNT(cname)

FROM users GROUP BY province,sex

Having关键字

我们希望在聚合之后执⾏过滤条件怎么办?

示例:查询每⼀个省份男⼥⽣的⼈数,同时只需要显示⼈数数量超过3⼈的记录

SELECT province, sex, COUNT(cname)

FROM users

GROUP BY province, sex

HAVING COUNT(cname)>3;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值