以下将是我在实习期间,使用MySQL的心得,在此予以总结并分享给各位:
由于日常工作中,主要使用MySQL进行查询,故以select为例:
写SQL的一般步骤个人觉得可以分为如下:首先明确条件(where),其次知道使用哪些表进行连接(join),inner join,left join,right join要时刻提醒自己,表间连接可能使数据记录变大(这是个坑,需要时刻注意),接下来看是否需要分组,然后再排序(组序组序,就是先组后序),最后才写自己需要的字段。
以下谈谈SQL的一些常见函数:
- count 函数。单纯的count是计算该字段有多少条记录,而count结合distinct,才可以计算该字段有多少类
- case when then end 函数的用法,该函数可以实现countif的功能,MySQL没有countif
- 另外实现countif的用法的函数可以用:count(if(cond,value,null)),利用count不对null计数
- ifnull 函数的用法
- in ()
- between and 首末时间都包含
- datediff() 计算两个日期相差天数
- UNIX_TIMESTAMP() 日期转换为时间戳
- groupby having having后面的表达式应该是表中没有,如通过聚合函数而来
- row_number() 函数我至今还不太明白,如果有朋友知道的话,欢迎留言啊