MySQL数据分析常用函数方法

MySQL数据分析常用函数方法,第1张

执行顺序:

适用结构相同的表联结成一张大表

内连接:返回两个表共同的行

左连接:以表 1 为基础,匹配表 2 的相同行

右连接:以表 2 为基础,匹配表 1 的相同行

全连接:返回全部数据,可以理解为左连接和右连接的结合

mysql 没有全连接

常用于组内排序,具体写法如下

窗口函数可以用 rank 相关函数或者聚合函数

当前日期+时间(date + time)函数:now()

当前时间戳函数:current_timestamp()

日期或时间转换为字符串 函数:date_format(date,format), time_format(time,format)

lower(str):将字符串参数值转换为全小写字母后返回

upper(str):将字符串参数值转换为全大写字母后返回

concat(str1, str2,...):将多个字符串参数首尾相连后返回

concat_ws(separator,str1,str2,...):将多个字符串参数以给定的分隔符 separator 首尾相连后返回

substr(str,pos):截取从 pos 位置开始到最后的所有 str 字符串

substr(str, pos, len):截取 str 字符串,从 pos 位置开始的 len 个字符

length(str):返回字符串的存储长度

char_length(str):返回字符串中的字符个数

format(X,D,locale):以格式 ‘#,###,###.##’ 格式化数字 X,D 指定小数位数,locale 指定国家语言(默认的 locale 为 en_US)

left(str, len):返回最左边的len长度的子串

right(str, len):返回最右边的len长度的子串

ltrim(str),rtrim(str):去掉字符串的左边或右边的空格

repeat(str, count):将字符串 str 重复 count 次后返回

reverse(str):将字符串 str 反转后返回

通俗易懂的学会:SQL窗口函数

mysql format时间格式化说明

MySQL常用字符串函数

2020-03-01

对于count的函数的使用,我们常见的一个错误是在括号内随意指定一个列去统计结果集的行数。但只有指定的行确实都是有值的时候,统计的才是实际的行数,否则可能统计的结果并不是实际的行数。而对于MyISAM存储引擎,如果某一列的值确实不可能为null时,MySQL内部就会将count()函数优化成count(*),若没有带where条件,此时计算速度是非常快的,因为此时没有实际的去计算表的行数。

总结: 对于MyISAM存储引擎,不带where条件的count(*)是非常快的。

技巧:

利用上述MyISAM的count(* )特性,加速一些特定查询条件的count()查询。

如:

对于select count(* ) from tablename where id >10可以做如下的反转查询:

select (select count(* ) from tablename) - count(* ) from tablename where id <10

因为这样在查询阶段MySQL将子查询当做一个常数来处理,大大减少了扫描的行数。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8576329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存