SQL51 查找字符串中逗号出现的次数(好像没有这种函数?)
解:把逗号去掉前后的长度差
SELECT id,length(string)-length(replace(string,',',''))
FROM strings
注:length、octet_length、char_length、character_length
SQL52 获取employees中的first_name,并按照first_name最后两个字母升序进行输出
知识点:first_name最后两个字母
LEFT(s,n)返回字符串 s 的前 n 个字符
RIGHT(s,n)返回字符串 s 的后 n 个字符
substring(str,pos) substring(str,pos,len) pos可以是负数
-- right
select first_name
from employees
order by right(first_name,2)
--substring
select first_name
from employees
order by substring(first_name,-2)
SQL53 按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employees
select dept_no,group_concat(emp_no)
from dept_emp
group by dept_no
知识点:
记录mysql函数GROUP_CONCAT用法及踩坑点_harry5508的博客-CSDN博客
GROUP_CONCAT:将group by产生的同一个分组中的值连接起来,返回一个字符串结果
group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )