select 子查询,数学函数,字符串函数

1.select子查询
查询各部门员工人数占比;
首先查询员工总人数:select count() from emp;
查询各部门员工人数:
select deptno,count(
)员工人数,count()/ select count() from emp
员工人数占比
from emp
group by deptno;

2.Mysql数学函数:
abs():绝对值
floor():向下取整
ceiling():向上取整
now():当前时刻
log():取对数
mod():取余数
round():四舍五入保留几位小数,例 round(1.58,1),返回结果为1.6

3.字符串函数:
concat():多个字符串合并为一个长文本字符串(有null的合并返回均为null);
select concat(‘数据’,’分析‘),返回 ’数据分析‘;
instr():长文本字符串返回的位置;
例:select instr(‘CDA’,‘C’),返回结果为1;找不到返回0;
注:instr结果 返回第一次出现的位置;
left():从左边起,需要提取的字符:select left(‘学校’,2),结果为学校;
right();Mid()同理
mid()共有三个参数;substring(expression,start,length);
mid()与substring()用法完全相同;
lstrim():删除文本字符串左边的空格;
rstrim():删除文本字符串左边的空格;
trim():删除字符串两边的空格;
replace(str,from_str,to_str):
例子:select replace(学习数据分析,学习,学会)
返回结果为 学会数据分析;
upper(‘abc’);lower(‘ABC’);

3.时间戳函数
unix_timestamp():返回一个unix时间戳(从1970-1-1开始的秒数),date默认值为当前时间
from_unixtime(1577080800):返回年月日时分秒格式;
select *,floor(datediff(curdate,hiredate)/365) as 工龄 from emp;

4.分组合并函数
group_concat() :分组后的多个字符串合并为一个长文本字符串;
例:select deptno,group_concat(distinct ename order by sal desc seperator ‘/’)
from emp
group by deptno;
group_concat([distinct] str [order by str asc/desc] [seperator])

5.逻辑函数
IFNULL();IF()函数;
逻辑判断表达式:case when…then…else…end.
例子:
select
*,
case when sal>3000 then ‘高’
when sal<=1500 then ‘低’
else ‘中’
end 工资级别
from emp;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值