前言
- 面试中经常会考的函数:
日期时间函数,控制流函数 - 在日常开发中,用的比较多的函数:
日期时间函数,字符串函数,系统信息函数
更多的应用,应该是多去查手册,这里就是燕老师代表性的讲一讲了。
一、函数讲解
1.1、数学函数
1.1.1、abs(x)绝对值

1.1.2、bin(x)二进制
同样可以返回八进制,十六进制

1.1.3、其余函数
同样还有向下取整,向上取整,随机生成一定范围内的数字等等函数。注意与别的语言之间的区别。可能会有很大的不同。
手册

1.2、聚合函数
1.2.1、avg、count、min、max、sum
这些是已经都讲过的
1.2.2、group_concat(col)返回由属于一组的列值连接组合而成的结果
例题:
题目:想取出第4个栏目下,所有商品的good_id

再进一步,
想把第4个栏目下的good_id,拼接起来,想得到一个1,14,18,13的结果。
group有分组的意思。就是说,把属于第4组的good_id都拼接起来。

发现有两个逗号,因为此函数默认用逗号拼接的。因此,参数不用逗号,用空,得到

1.2.3、手册

1.3、字符串函数
很多与编程语言中的函数是相似的。
注意,MySQL中的下标是从1开始的。比如position函数。
综合例题:
某网站有email字段,有邮件地址。想调查163,126,qq,gmail邮箱的比例。

有一个难点:想查询邮箱后缀,但是后缀是邮箱地址的一部分,得先把后缀想办法查出来。
提示:用字符串函数,长度,位置,right函数。
关键是取多长?用position得到@的位置,然后总长度减去@往右部分的长度,再用right截断即可。

一般网站就会把email拆成@前后两部分,放在2个列。这样会提高查询效率(比如想统计各个邮箱地址占比)。
手册:

网友评论