1.count(*) 表示计算总行数,和 count(列名) 的结果是相同的,但是count(列名) 不会统计null值记录
2.group by 分组查询 select 后只能有两种值,一个值分组字段,一个是聚合函数
3.select gender,group_concat(name) as names from students group by gender
group_concat(字段名)可以作为一个输出字段来使用,表示分组之后,根据分组结果,使用group_concat()来放置每一组的某字段的值的集合
4.select * from students limit 6,2; 分页显示,表示每页显示2个,第4个页面
分页:limit start, count start=(页数-1)*每页的个数
5.Concat(Vendor_Name,'(',Vendor_Country,')')concat()函数拼接列
concat_ws() 可以指定拼接的字符
6.常用日期和时间处理函数(日期格式 必须为 yyyy-mm-dd)
AddDate() 增加一个日期(天、周等)
AddTime() 增加一个时间(时、分等)
CurDate() 返回当前日期
CurTime() 返回当前时间
Now() 返回当前日期和时间
Date(date) 返回日期时间的日期部分
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式化的日期或时间串
DATEDIFF(date1,date2) 函数返回两个日期之间的天数
TIMESTAMPDIFF(unit,begin,end) 根据单位返回时间差,对于传入的begin和end不需要相同的数据结构,可以存在一个为Date一个DateTime
Day() 返回一个日期的天数部分
DayOfWeek() 对于一个日期,返回对应的星期几
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Month() 返回一个日期的月份部分
Second() 返回一个时间的秒部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分
总结:SQL的函数没有多少个,却要用来解决很多的逻辑问题,有两个思维很重要:1.逆向思维很重要 2.业务需求要进行详细拆解,达到量化的程度最好。